[INFO] updating cached repository fizyk20/ageing_sim [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/fizyk20/ageing_sim [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/fizyk20/ageing_sim" "work/ex/clippy-test-run/sources/stable/gh/fizyk20/ageing_sim"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/fizyk20/ageing_sim'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/fizyk20/ageing_sim" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fizyk20/ageing_sim"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fizyk20/ageing_sim'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 6e540fb8685ec8063ace84fd6227803642ecc32d [INFO] sha for GitHub repo fizyk20/ageing_sim: 6e540fb8685ec8063ace84fd6227803642ecc32d [INFO] validating manifest of fizyk20/ageing_sim 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 fizyk20/ageing_sim 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 fizyk20/ageing_sim [INFO] finished frobbing fizyk20/ageing_sim [INFO] frobbed toml for fizyk20/ageing_sim written to work/ex/clippy-test-run/sources/stable/gh/fizyk20/ageing_sim/Cargo.toml [INFO] started frobbing fizyk20/ageing_sim [INFO] finished frobbing fizyk20/ageing_sim [INFO] frobbed toml for fizyk20/ageing_sim written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/fizyk20/ageing_sim/Cargo.toml [INFO] crate fizyk20/ageing_sim 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 fizyk20/ageing_sim 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/fizyk20/ageing_sim:/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] ab7cbd2eeea430a7b59adba97dda0163bbcd9144d72541590a072204b2dd415d [INFO] running `"docker" "start" "-a" "ab7cbd2eeea430a7b59adba97dda0163bbcd9144d72541590a072204b2dd415d"` [INFO] [stderr] Checking tiny-keccak v1.4.0 [INFO] [stderr] Checking atty v0.2.6 [INFO] [stderr] Checking clap v2.29.1 [INFO] [stderr] Checking ageing_sim v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:156:17 [INFO] [stderr] | [INFO] [stderr] 156 | let _ = write!( [INFO] [stderr] | _________________^ [INFO] [stderr] 157 | | file, [INFO] [stderr] 158 | | "{} {} {} {}\n", [INFO] [stderr] 159 | | i, data.size, data.sections, data.complete [INFO] [stderr] 160 | | ); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: using `write!()` with a format string that ends in a single newline, consider using `writeln!()` instead [INFO] [stderr] --> src/main.rs:156:17 [INFO] [stderr] | [INFO] [stderr] 156 | let _ = write!( [INFO] [stderr] | _________________^ [INFO] [stderr] 157 | | file, [INFO] [stderr] 158 | | "{} {} {} {}\n", [INFO] [stderr] 159 | | i, data.size, data.sections, data.complete [INFO] [stderr] 160 | | ); [INFO] [stderr] | |_________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::write_with_newline)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#write_with_newline [INFO] [stderr] [INFO] [stderr] warning: using `println!("")` [INFO] [stderr] --> src/main.rs:179:5 [INFO] [stderr] | [INFO] [stderr] 179 | println!(""); [INFO] [stderr] | ^^^^^^^^^^^^ help: replace it with: `println!()` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::println_empty_string)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#println_empty_string [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/network/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub mod network; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: module has the same name as its containing module [INFO] [stderr] --> src/network/mod.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub mod network; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::module_inception)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#module_inception [INFO] [stderr] [INFO] [stderr] warning: long literal lacking separators [INFO] [stderr] --> src/main.rs:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | for i in 0..100000 { [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [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:168:17 [INFO] [stderr] | [INFO] [stderr] 168 | for i in 0..100000 { [INFO] [stderr] | ^^^^^^ help: consider: `100_000` [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: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/network/prefix.rs:35:20 [INFO] [stderr] | [INFO] [stderr] 35 | let bit = (bit as u64 & 1) << (63 - self.len); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(bit)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/network/node.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | self.age = self.age + 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.age += 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: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/network/node.rs:68:41 [INFO] [stderr] | [INFO] [stderr] 68 | DropDist::RevProp => 10.0 / self.age as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.age)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/network/node.rs:69:51 [INFO] [stderr] | [INFO] [stderr] 69 | DropDist::Exponential => 2.0f64.powf(-(self.age as f64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.age)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/network/network.rs:267:26 [INFO] [stderr] | [INFO] [stderr] 267 | let old_elders = self.nodes.get(&pfx).unwrap().elders(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.nodes[&pfx]` [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: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/network/network.rs:327:42 [INFO] [stderr] | [INFO] [stderr] 327 | neighbours.sort_by_key(|pfx| self.nodes.get(pfx).unwrap().len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.nodes[pfx]` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/network.rs:333:28 [INFO] [stderr] | [INFO] [stderr] 333 | let old_node = node.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `node` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/network/network.rs:368:9 [INFO] [stderr] | [INFO] [stderr] 368 | node_and_prefix.map(|(prefix, node)| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 369 | || *self.output.drops_dist.entry(node.age()).or_insert(0) += 1; [INFO] [stderr] 370 | || let name = node.name(); [INFO] [stderr] 371 | || println!("Dropping node {:?} from section {:?}", name, prefix); [INFO] [stderr] ... || [INFO] [stderr] 375 | || .push(NetworkEvent::Lost(name)); [INFO] [stderr] 376 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some((prefix, node)) = node_and_prefix { ... }` [INFO] [stderr] | |___________| [INFO] [stderr] | [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: you seem to want to iterate on a map's values [INFO] [stderr] --> src/network/network.rs:402:29 [INFO] [stderr] | [INFO] [stderr] 402 | for (_, section) in &self.nodes { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 402 | for section in self.nodes.values() { [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/main.rs:107:17 [INFO] [stderr] | [INFO] [stderr] 107 | let split = matches [INFO] [stderr] | _________________^ [INFO] [stderr] 108 | | .value_of("split") [INFO] [stderr] 109 | | .unwrap_or("complete") [INFO] [stderr] 110 | | .parse() [INFO] [stderr] 111 | | .ok() [INFO] [stderr] 112 | | .expect("Split strategy must be \"always\" or \"complete\"."); [INFO] [stderr] | |_____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/main.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | let drop_dist = matches [INFO] [stderr] | _____________________^ [INFO] [stderr] 114 | | .value_of("drop_dist") [INFO] [stderr] 115 | | .unwrap_or("exp") [INFO] [stderr] 116 | | .parse() [INFO] [stderr] 117 | | .ok() [INFO] [stderr] 118 | | .expect("Drop distribution must be exp/exponential/rev/reverse-proportional."); [INFO] [stderr] | |______________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/main.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | let mut file = File::create(file) [INFO] [stderr] | ____________________^ [INFO] [stderr] 153 | | .ok() [INFO] [stderr] 154 | | .expect(&format!("Couldn't create file {}!", file)); [INFO] [stderr] | |___________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/main.rs:154:10 [INFO] [stderr] | [INFO] [stderr] 154 | .expect(&format!("Couldn't create file {}!", file)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| panic!("Couldn't create file {}!", file))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/main.rs:155:27 [INFO] [stderr] | [INFO] [stderr] 155 | for (i, data) in data.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] warning: casting u8 to u64 may become silently lossy if types change [INFO] [stderr] --> src/network/prefix.rs:35:20 [INFO] [stderr] | [INFO] [stderr] 35 | let bit = (bit as u64 & 1) << (63 - self.len); [INFO] [stderr] | ^^^^^^^^^^ help: try: `u64::from(bit)` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::cast_lossless)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: manual implementation of an assign operation [INFO] [stderr] --> src/network/node.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | self.age = self.age + 1 [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ help: replace it with: `self.age += 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: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/network/node.rs:68:41 [INFO] [stderr] | [INFO] [stderr] 68 | DropDist::RevProp => 10.0 / self.age as f64, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: try: `f64::from(self.age)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f64 may become silently lossy if types change [INFO] [stderr] --> src/network/node.rs:69:51 [INFO] [stderr] | [INFO] [stderr] 69 | DropDist::Exponential => 2.0f64.powf(-(self.age as f64)), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: try: `f64::from(self.age)` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#cast_lossless [INFO] [stderr] [INFO] [stderr] warning: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/network/network.rs:267:26 [INFO] [stderr] | [INFO] [stderr] 267 | let old_elders = self.nodes.get(&pfx).unwrap().elders(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.nodes[&pfx]` [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: called `.get().unwrap()` on a BTreeMap. Using `[]` is more clear and more concise [INFO] [stderr] --> src/network/network.rs:327:42 [INFO] [stderr] | [INFO] [stderr] 327 | neighbours.sort_by_key(|pfx| self.nodes.get(pfx).unwrap().len()); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `&self.nodes[pfx]` [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: using `clone` on a `Copy` type [INFO] [stderr] --> src/network/network.rs:333:28 [INFO] [stderr] | [INFO] [stderr] 333 | let old_node = node.clone(); [INFO] [stderr] | ^^^^^^^^^^^^ help: try removing the `clone` call: `node` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::clone_on_copy)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#clone_on_copy [INFO] [stderr] [INFO] [stderr] warning: called `map(f)` on an Option value where `f` is a unit closure [INFO] [stderr] --> src/network/network.rs:368:9 [INFO] [stderr] | [INFO] [stderr] 368 | node_and_prefix.map(|(prefix, node)| { [INFO] [stderr] | _________^ [INFO] [stderr] | |_________| [INFO] [stderr] | || [INFO] [stderr] 369 | || *self.output.drops_dist.entry(node.age()).or_insert(0) += 1; [INFO] [stderr] 370 | || let name = node.name(); [INFO] [stderr] 371 | || println!("Dropping node {:?} from section {:?}", name, prefix); [INFO] [stderr] ... || [INFO] [stderr] 375 | || .push(NetworkEvent::Lost(name)); [INFO] [stderr] 376 | || }); [INFO] [stderr] | ||__________^- help: try this: `if let Some((prefix, node)) = node_and_prefix { ... }` [INFO] [stderr] | |___________| [INFO] [stderr] | [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: you seem to want to iterate on a map's values [INFO] [stderr] --> src/network/network.rs:402:29 [INFO] [stderr] | [INFO] [stderr] 402 | for (_, section) in &self.nodes { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::for_kv_map)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#for_kv_map [INFO] [stderr] help: use the corresponding method [INFO] [stderr] | [INFO] [stderr] 402 | for section in self.nodes.values() { [INFO] [stderr] | ^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/main.rs:107:17 [INFO] [stderr] | [INFO] [stderr] 107 | let split = matches [INFO] [stderr] | _________________^ [INFO] [stderr] 108 | | .value_of("split") [INFO] [stderr] 109 | | .unwrap_or("complete") [INFO] [stderr] 110 | | .parse() [INFO] [stderr] 111 | | .ok() [INFO] [stderr] 112 | | .expect("Split strategy must be \"always\" or \"complete\"."); [INFO] [stderr] | |_____________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::ok_expect)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/main.rs:113:21 [INFO] [stderr] | [INFO] [stderr] 113 | let drop_dist = matches [INFO] [stderr] | _____________________^ [INFO] [stderr] 114 | | .value_of("drop_dist") [INFO] [stderr] 115 | | .unwrap_or("exp") [INFO] [stderr] 116 | | .parse() [INFO] [stderr] 117 | | .ok() [INFO] [stderr] 118 | | .expect("Drop distribution must be exp/exponential/rev/reverse-proportional."); [INFO] [stderr] | |______________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: called `ok().expect()` on a Result value. You can call `expect` directly on the `Result` [INFO] [stderr] --> src/main.rs:152:20 [INFO] [stderr] | [INFO] [stderr] 152 | let mut file = File::create(file) [INFO] [stderr] | ____________________^ [INFO] [stderr] 153 | | .ok() [INFO] [stderr] 154 | | .expect(&format!("Couldn't create file {}!", file)); [INFO] [stderr] | |___________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#ok_expect [INFO] [stderr] [INFO] [stderr] warning: use of `expect` followed by a function call [INFO] [stderr] --> src/main.rs:154:10 [INFO] [stderr] | [INFO] [stderr] 154 | .expect(&format!("Couldn't create file {}!", file)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try this: `unwrap_or_else(|| panic!("Couldn't create file {}!", file))` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::expect_fun_call)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#expect_fun_call [INFO] [stderr] [INFO] [stderr] warning: this .into_iter() call is equivalent to .iter() and will not move the slice [INFO] [stderr] --> src/main.rs:155:27 [INFO] [stderr] | [INFO] [stderr] 155 | for (i, data) in data.into_iter().enumerate() { [INFO] [stderr] | ^^^^^^^^^ help: call directly: `iter` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::into_iter_on_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#into_iter_on_ref [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.66s [INFO] running `"docker" "inspect" "ab7cbd2eeea430a7b59adba97dda0163bbcd9144d72541590a072204b2dd415d"` [INFO] running `"docker" "rm" "-f" "ab7cbd2eeea430a7b59adba97dda0163bbcd9144d72541590a072204b2dd415d"` [INFO] [stdout] ab7cbd2eeea430a7b59adba97dda0163bbcd9144d72541590a072204b2dd415d