[INFO] updating cached repository yjh0502/ch [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/yjh0502/ch [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/yjh0502/ch" "work/ex/clippy-test-run/sources/stable/gh/yjh0502/ch"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/yjh0502/ch'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/yjh0502/ch" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yjh0502/ch"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yjh0502/ch'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 132aa9374e14f6bd7b58c7a6ebd22e5af8af6822 [INFO] sha for GitHub repo yjh0502/ch: 132aa9374e14f6bd7b58c7a6ebd22e5af8af6822 [INFO] validating manifest of yjh0502/ch 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 yjh0502/ch 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 yjh0502/ch [INFO] finished frobbing yjh0502/ch [INFO] frobbed toml for yjh0502/ch written to work/ex/clippy-test-run/sources/stable/gh/yjh0502/ch/Cargo.toml [INFO] started frobbing yjh0502/ch [INFO] finished frobbing yjh0502/ch [INFO] frobbed toml for yjh0502/ch written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/yjh0502/ch/Cargo.toml [INFO] crate yjh0502/ch 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 yjh0502/ch against stable for clippy-test-run [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/clippy-test-run/worker-5/stable:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/clippy-test-run/sources/stable/gh/yjh0502/ch:/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] c13e78e38c181e35991da273730cfbfa77f1c80fc76bf64559a2ef0362493646 [INFO] running `"docker" "start" "-a" "c13e78e38c181e35991da273730cfbfa77f1c80fc76bf64559a2ef0362493646"` [INFO] [stderr] Compiling num-traits v0.2.4 [INFO] [stderr] Compiling num-integer v0.1.38 [INFO] [stderr] Compiling cc v1.0.15 [INFO] [stderr] Compiling serde v1.0.59 [INFO] [stderr] Checking take_mut v0.2.2 [INFO] [stderr] Checking ordslice v0.3.0 [INFO] [stderr] Checking rand v0.4.2 [INFO] [stderr] Checking memchr v2.0.1 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking atty v0.2.10 [INFO] [stderr] Checking crossbeam-utils v0.2.2 [INFO] [stderr] Compiling proc-macro2 v0.4.3 [INFO] [stderr] Checking csv-core v0.1.4 [INFO] [stderr] Checking clap v2.31.2 [INFO] [stderr] Checking crossbeam-epoch v0.3.1 [INFO] [stderr] Checking crossbeam-deque v0.2.0 [INFO] [stderr] Compiling backtrace-sys v0.1.19 [INFO] [stderr] Compiling quote v0.6.2 [INFO] [stderr] Checking num-complex v0.1.43 [INFO] [stderr] Compiling syn v0.14.0 [INFO] [stderr] Checking num-bigint v0.1.44 [INFO] [stderr] Checking num-iter v0.1.37 [INFO] [stderr] Checking rayon-core v1.4.0 [INFO] [stderr] Checking rayon v1.0.1 [INFO] [stderr] Checking num-rational v0.1.42 [INFO] [stderr] Checking num v0.1.42 [INFO] [stderr] Checking stopwatch v0.0.7 [INFO] [stderr] Compiling serde_derive v1.0.59 [INFO] [stderr] Checking backtrace v0.3.8 [INFO] [stderr] Checking error-chain v0.11.0 [INFO] [stderr] Checking csv v1.0.0 [INFO] [stderr] Checking ch v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ch.rs:642:9 [INFO] [stderr] | [INFO] [stderr] 642 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/lib.rs:247:9 [INFO] [stderr] | [INFO] [stderr] 247 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unneeded return statement [INFO] [stderr] --> src/ch.rs:642:9 [INFO] [stderr] | [INFO] [stderr] 642 | return None; [INFO] [stderr] | ^^^^^^^^^^^^ help: remove `return` as shown: `None` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_return)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ch.rs:444:39 [INFO] [stderr] | [INFO] [stderr] 444 | let score = edge_difference - deleted_count as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(deleted_count)` [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: slow zero-filling initialization [INFO] [stderr] --> src/ch.rs:514:9 [INFO] [stderr] | [INFO] [stderr] 513 | let mut deleted_count = Vec::with_capacity(node_len); [INFO] [stderr] | ---------------------------- help: consider replace allocation with: `vec![0; node_len]` [INFO] [stderr] 514 | deleted_count.resize(node_len, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ch.rs:576:43 [INFO] [stderr] | [INFO] [stderr] 576 | let score = edge_difference - deleted_count[idx] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(deleted_count[idx])` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ch.rs:585:29 [INFO] [stderr] | [INFO] [stderr] 585 | stat_score.push(score as i64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(score)` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ch.rs:586:28 [INFO] [stderr] | [INFO] [stderr] 586 | stat_diff.push(edge_difference as i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(edge_difference)` [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] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/ch.rs:742:9 [INFO] [stderr] | [INFO] [stderr] 742 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::forget_copy)] on by default [INFO] [stderr] note: argument has type [u8; 8] [INFO] [stderr] --> src/ch.rs:742:16 [INFO] [stderr] | [INFO] [stderr] 742 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/ch.rs:743:9 [INFO] [stderr] | [INFO] [stderr] 743 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 16] [INFO] [stderr] --> src/ch.rs:743:16 [INFO] [stderr] | [INFO] [stderr] 743 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/network/road.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / impl std::hash::Hash for NodeKey { [INFO] [stderr] 17 | | fn hash(&self, state: &mut H) [INFO] [stderr] 18 | | where [INFO] [stderr] 19 | | H: std::hash::Hasher, [INFO] [stderr] ... | [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/network/road.rs:5:30 [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/network/road.rs:213:34 [INFO] [stderr] | [INFO] [stderr] 213 | let mut edge_nodes = nodes [INFO] [stderr] | __________________________________^ [INFO] [stderr] 214 | | .iter() [INFO] [stderr] 215 | | .filter(|node| node.edge_mesh_id != 0) [INFO] [stderr] 216 | | .map(|node| node.clone()) [INFO] [stderr] | |_________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 213 | let mut edge_nodes = nodes [INFO] [stderr] 214 | .iter() [INFO] [stderr] 215 | .filter(|node| node.edge_mesh_id != 0).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/network/road.rs:317:56 [INFO] [stderr] | [INFO] [stderr] 317 | let cost = (len as f32 * 3.6 / max_speed as f32) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f32::from(max_speed)` [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] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/network/walk.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / impl std::hash::Hash for NodeKey { [INFO] [stderr] 17 | | fn hash(&self, state: &mut H) [INFO] [stderr] 18 | | where [INFO] [stderr] 19 | | H: std::hash::Hasher, [INFO] [stderr] ... | [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/network/walk.rs:6:30 [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/network/walk.rs:132:34 [INFO] [stderr] | [INFO] [stderr] 132 | let mut edge_nodes = nodes [INFO] [stderr] | __________________________________^ [INFO] [stderr] 133 | | .iter() [INFO] [stderr] 134 | | .filter(|node| node.edge_mesh_id != 0) [INFO] [stderr] 135 | | .map(|node| node.clone()) [INFO] [stderr] | |_________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 132 | let mut edge_nodes = nodes [INFO] [stderr] 133 | .iter() [INFO] [stderr] 134 | .filter(|node| node.edge_mesh_id != 0).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/network/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / impl std::hash::Hash for IdxNodeKey { [INFO] [stderr] 10 | | #[inline] [INFO] [stderr] 11 | | fn hash(&self, state: &mut H) [INFO] [stderr] 12 | | where [INFO] [stderr] ... | [INFO] [stderr] 16 | | } [INFO] [stderr] 17 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/network/mod.rs:7:40 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Clone, Copy, PartialOrd, Ord, PartialEq, Eq, Debug, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/network/mod.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn index(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/network/mod.rs:57:16 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn dir(&self) -> IdxLinkDir { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/network/mod.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn cost(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/partition.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn par_partition_range_by_key<'a, K, V, F>(v: &'a [V], f: F) -> Vec<(K, Range)> [INFO] [stderr] 45 | | where [INFO] [stderr] 46 | | V: Sync, [INFO] [stderr] 47 | | K: Eq + Send, [INFO] [stderr] ... | [INFO] [stderr] 50 | | par_partition_range_by_key_inner(0, v, &f) [INFO] [stderr] 51 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/partition.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | / pub fn partition_range_by_key<'a, K, V, F>(v: &'a [V], f: F) -> Vec<(K, Range)> [INFO] [stderr] 55 | | where [INFO] [stderr] 56 | | K: Eq, [INFO] [stderr] 57 | | F: Fn(&V) -> K, [INFO] [stderr] ... | [INFO] [stderr] 78 | | out [INFO] [stderr] 79 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ch.rs:444:39 [INFO] [stderr] | [INFO] [stderr] 444 | let score = edge_difference - deleted_count as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(deleted_count)` [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: slow zero-filling initialization [INFO] [stderr] --> src/ch.rs:514:9 [INFO] [stderr] | [INFO] [stderr] 513 | let mut deleted_count = Vec::with_capacity(node_len); [INFO] [stderr] | ---------------------------- help: consider replace allocation with: `vec![0; node_len]` [INFO] [stderr] 514 | deleted_count.resize(node_len, 0); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::slow_vector_initialization)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#slow_vector_initialization [INFO] [stderr] [INFO] [stderr] warning: casting u16 to i32 may become silently lossy if types change [INFO] [stderr] --> src/ch.rs:576:43 [INFO] [stderr] | [INFO] [stderr] 576 | let score = edge_difference - deleted_count[idx] as i32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `i32::from(deleted_count[idx])` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ch.rs:585:29 [INFO] [stderr] | [INFO] [stderr] 585 | stat_score.push(score as i64); [INFO] [stderr] | ^^^^^^^^^^^^ help: try: `i64::from(score)` [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 i32 to i64 may become silently lossy if types change [INFO] [stderr] --> src/ch.rs:586:28 [INFO] [stderr] | [INFO] [stderr] 586 | stat_diff.push(edge_difference as i64); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ help: try: `i64::from(edge_difference)` [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] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/ch.rs:742:9 [INFO] [stderr] | [INFO] [stderr] 742 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::forget_copy)] on by default [INFO] [stderr] note: argument has type [u8; 8] [INFO] [stderr] --> src/ch.rs:742:16 [INFO] [stderr] | [INFO] [stderr] 742 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/ch.rs:743:9 [INFO] [stderr] | [INFO] [stderr] 743 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 16] [INFO] [stderr] --> src/ch.rs:743:16 [INFO] [stderr] | [INFO] [stderr] 743 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/lib.rs:267:9 [INFO] [stderr] | [INFO] [stderr] 267 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 4] [INFO] [stderr] --> src/lib.rs:267:16 [INFO] [stderr] | [INFO] [stderr] 267 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/lib.rs:268:9 [INFO] [stderr] | [INFO] [stderr] 268 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 8] [INFO] [stderr] --> src/lib.rs:268:16 [INFO] [stderr] | [INFO] [stderr] 268 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/lib.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | / forget(transmute::, [u8; 12]>( [INFO] [stderr] 271 | | uninitialized(), [INFO] [stderr] 272 | | )); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 12] [INFO] [stderr] --> src/lib.rs:270:16 [INFO] [stderr] | [INFO] [stderr] 270 | forget(transmute::, [u8; 12]>( [INFO] [stderr] | ________________^ [INFO] [stderr] 271 | | uninitialized(), [INFO] [stderr] 272 | | )); [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/network/road.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / impl std::hash::Hash for NodeKey { [INFO] [stderr] 17 | | fn hash(&self, state: &mut H) [INFO] [stderr] 18 | | where [INFO] [stderr] 19 | | H: std::hash::Hasher, [INFO] [stderr] ... | [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[deny(clippy::derive_hash_xor_eq)] on by default [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/network/road.rs:5:30 [INFO] [stderr] | [INFO] [stderr] 5 | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] error: aborting due to 8 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ch`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/network/road.rs:213:34 [INFO] [stderr] | [INFO] [stderr] 213 | let mut edge_nodes = nodes [INFO] [stderr] | __________________________________^ [INFO] [stderr] 214 | | .iter() [INFO] [stderr] 215 | | .filter(|node| node.edge_mesh_id != 0) [INFO] [stderr] 216 | | .map(|node| node.clone()) [INFO] [stderr] | |_________________________________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::map_clone)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 213 | let mut edge_nodes = nodes [INFO] [stderr] 214 | .iter() [INFO] [stderr] 215 | .filter(|node| node.edge_mesh_id != 0).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/network/road.rs:317:56 [INFO] [stderr] | [INFO] [stderr] 317 | let cost = (len as f32 * 3.6 / max_speed as f32) as u32; [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: try: `f32::from(max_speed)` [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] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/network/walk.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | / impl std::hash::Hash for NodeKey { [INFO] [stderr] 17 | | fn hash(&self, state: &mut H) [INFO] [stderr] 18 | | where [INFO] [stderr] 19 | | H: std::hash::Hasher, [INFO] [stderr] ... | [INFO] [stderr] 23 | | } [INFO] [stderr] 24 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/network/walk.rs:6:30 [INFO] [stderr] | [INFO] [stderr] 6 | #[derive(Clone, Copy, Debug, PartialEq, Eq, PartialOrd, Ord)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/network/walk.rs:132:34 [INFO] [stderr] | [INFO] [stderr] 132 | let mut edge_nodes = nodes [INFO] [stderr] | __________________________________^ [INFO] [stderr] 133 | | .iter() [INFO] [stderr] 134 | | .filter(|node| node.edge_mesh_id != 0) [INFO] [stderr] 135 | | .map(|node| node.clone()) [INFO] [stderr] | |_________________________________________^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#map_clone [INFO] [stderr] help: Consider calling the dedicated `cloned` method [INFO] [stderr] | [INFO] [stderr] 132 | let mut edge_nodes = nodes [INFO] [stderr] 133 | .iter() [INFO] [stderr] 134 | .filter(|node| node.edge_mesh_id != 0).cloned() [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] error: you are implementing `Hash` explicitly but have derived `PartialEq` [INFO] [stderr] --> src/network/mod.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | / impl std::hash::Hash for IdxNodeKey { [INFO] [stderr] 10 | | #[inline] [INFO] [stderr] 11 | | fn hash(&self, state: &mut H) [INFO] [stderr] 12 | | where [INFO] [stderr] ... | [INFO] [stderr] 16 | | } [INFO] [stderr] 17 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] note: `PartialEq` implemented here [INFO] [stderr] --> src/network/mod.rs:7:40 [INFO] [stderr] | [INFO] [stderr] 7 | #[derive(Clone, Copy, PartialOrd, Ord, PartialEq, Eq, Debug, Serialize, Deserialize)] [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#derive_hash_xor_eq [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/network/mod.rs:24:18 [INFO] [stderr] | [INFO] [stderr] 24 | pub fn index(&self) -> usize { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::trivially_copy_pass_by_ref)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/network/mod.rs:57:16 [INFO] [stderr] | [INFO] [stderr] 57 | pub fn dir(&self) -> IdxLinkDir { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: this argument is passed by reference, but would be more efficient if passed by value [INFO] [stderr] --> src/network/mod.rs:61:17 [INFO] [stderr] | [INFO] [stderr] 61 | pub fn cost(&self) -> u32 { [INFO] [stderr] | ^^^^^ help: consider passing by value instead: `self` [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/partition.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | / pub fn par_partition_range_by_key<'a, K, V, F>(v: &'a [V], f: F) -> Vec<(K, Range)> [INFO] [stderr] 45 | | where [INFO] [stderr] 46 | | V: Sync, [INFO] [stderr] 47 | | K: Eq + Send, [INFO] [stderr] ... | [INFO] [stderr] 50 | | par_partition_range_by_key_inner(0, v, &f) [INFO] [stderr] 51 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(clippy::needless_lifetimes)] on by default [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] warning: explicit lifetimes given in parameter types where they could be elided (or replaced with `'_` if needed by type declaration) [INFO] [stderr] --> src/partition.rs:54:1 [INFO] [stderr] | [INFO] [stderr] 54 | / pub fn partition_range_by_key<'a, K, V, F>(v: &'a [V], f: F) -> Vec<(K, Range)> [INFO] [stderr] 55 | | where [INFO] [stderr] 56 | | K: Eq, [INFO] [stderr] 57 | | F: Fn(&V) -> K, [INFO] [stderr] ... | [INFO] [stderr] 78 | | out [INFO] [stderr] 79 | | } [INFO] [stderr] | |_^ [INFO] [stderr] | [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_lifetimes [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/lib.rs:267:9 [INFO] [stderr] | [INFO] [stderr] 267 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 4] [INFO] [stderr] --> src/lib.rs:267:16 [INFO] [stderr] | [INFO] [stderr] 267 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/lib.rs:268:9 [INFO] [stderr] | [INFO] [stderr] 268 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 8] [INFO] [stderr] --> src/lib.rs:268:16 [INFO] [stderr] | [INFO] [stderr] 268 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: calls to `std::mem::forget` with a value that implements Copy. Forgetting a copy leaves the original intact. [INFO] [stderr] --> src/lib.rs:270:9 [INFO] [stderr] | [INFO] [stderr] 270 | / forget(transmute::, [u8; 12]>( [INFO] [stderr] 271 | | uninitialized(), [INFO] [stderr] 272 | | )); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 12] [INFO] [stderr] --> src/lib.rs:270:16 [INFO] [stderr] | [INFO] [stderr] 270 | forget(transmute::, [u8; 12]>( [INFO] [stderr] | ________________^ [INFO] [stderr] 271 | | uninitialized(), [INFO] [stderr] 272 | | )); [INFO] [stderr] | |_________^ [INFO] [stderr] = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#forget_copy [INFO] [stderr] [INFO] [stderr] error: aborting due to 8 previous errors [INFO] [stderr] [INFO] [stderr] error: Could not compile `ch`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "c13e78e38c181e35991da273730cfbfa77f1c80fc76bf64559a2ef0362493646"` [INFO] running `"docker" "rm" "-f" "c13e78e38c181e35991da273730cfbfa77f1c80fc76bf64559a2ef0362493646"` [INFO] [stdout] c13e78e38c181e35991da273730cfbfa77f1c80fc76bf64559a2ef0362493646