[INFO] updating cached repository airof98/ch [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/airof98/ch [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/airof98/ch" "work/ex/clippy-test-run/sources/stable/gh/airof98/ch"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable/gh/airof98/ch'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/airof98/ch" "work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/airof98/ch"` [INFO] [stderr] Cloning into 'work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/airof98/ch'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 2e264243a9daa2042927ebac3cc9d4c682698747 [INFO] sha for GitHub repo airof98/ch: 2e264243a9daa2042927ebac3cc9d4c682698747 [INFO] validating manifest of airof98/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 airof98/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 airof98/ch [INFO] finished frobbing airof98/ch [INFO] frobbed toml for airof98/ch written to work/ex/clippy-test-run/sources/stable/gh/airof98/ch/Cargo.toml [INFO] started frobbing airof98/ch [INFO] finished frobbing airof98/ch [INFO] frobbed toml for airof98/ch written to work/ex/clippy-test-run/sources/stable+rustflags=-Dclippy%3A%3Ainto_iter_on_array/gh/airof98/ch/Cargo.toml [INFO] crate airof98/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 airof98/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/airof98/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] 2703c7bdc3adedf2213de9fb6cde52e680578daa79da36ed005f98fe6f3c45f0 [INFO] running `"docker" "start" "-a" "2703c7bdc3adedf2213de9fb6cde52e680578daa79da36ed005f98fe6f3c45f0"` [INFO] [stderr] Checking ordslice v0.2.0 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking num-bigint v0.1.41 [INFO] [stderr] Checking csv v1.0.0-beta.5 [INFO] [stderr] Compiling serde_derive_internals v0.18.1 [INFO] [stderr] Checking error-chain v0.11.0 [INFO] [stderr] Checking rayon-core v1.3.0 [INFO] [stderr] Checking rayon v0.9.0 [INFO] [stderr] Compiling serde_derive v1.0.26 [INFO] [stderr] Checking num-rational v0.1.40 [INFO] [stderr] Checking num v0.1.41 [INFO] [stderr] Checking stopwatch v0.0.7 [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: 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: 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: 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: #[deny(clippy::derive_hash_xor_eq)] on by default [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:127:34 [INFO] [stderr] | [INFO] [stderr] 127 | let mut edge_nodes = nodes [INFO] [stderr] | __________________________________^ [INFO] [stderr] 128 | | .iter() [INFO] [stderr] 129 | | .filter(|node| node.edge_mesh_id != 0) [INFO] [stderr] 130 | | .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] 127 | let mut edge_nodes = nodes [INFO] [stderr] 128 | .iter() [INFO] [stderr] 129 | .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/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: `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: 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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/network/road.rs:206:34 [INFO] [stderr] | [INFO] [stderr] 206 | let mut edge_nodes = nodes [INFO] [stderr] | __________________________________^ [INFO] [stderr] 207 | | .iter() [INFO] [stderr] 208 | | .filter(|node| node.edge_mesh_id != 0) [INFO] [stderr] 209 | | .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] 206 | let mut edge_nodes = nodes [INFO] [stderr] 207 | .iter() [INFO] [stderr] 208 | .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:310:56 [INFO] [stderr] | [INFO] [stderr] 310 | 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] = 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] 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] 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: #[deny(clippy::derive_hash_xor_eq)] on by default [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: 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: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/network/walk.rs:127:34 [INFO] [stderr] | [INFO] [stderr] 127 | let mut edge_nodes = nodes [INFO] [stderr] | __________________________________^ [INFO] [stderr] 128 | | .iter() [INFO] [stderr] 129 | | .filter(|node| node.edge_mesh_id != 0) [INFO] [stderr] 130 | | .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] 127 | let mut edge_nodes = nodes [INFO] [stderr] 128 | .iter() [INFO] [stderr] 129 | .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/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: `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: 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] = 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] warning: You are using an explicit closure for cloning elements [INFO] [stderr] --> src/network/road.rs:206:34 [INFO] [stderr] | [INFO] [stderr] 206 | let mut edge_nodes = nodes [INFO] [stderr] | __________________________________^ [INFO] [stderr] 207 | | .iter() [INFO] [stderr] 208 | | .filter(|node| node.edge_mesh_id != 0) [INFO] [stderr] 209 | | .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] 206 | let mut edge_nodes = nodes [INFO] [stderr] 207 | .iter() [INFO] [stderr] 208 | .filter(|node| node.edge_mesh_id != 0).cloned() [INFO] [stderr] | [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:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 4] [INFO] [stderr] --> src/lib.rs:265:16 [INFO] [stderr] | [INFO] [stderr] 265 | 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:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 8] [INFO] [stderr] --> src/lib.rs:266:16 [INFO] [stderr] | [INFO] [stderr] 266 | 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::, [u8; 12]>( [INFO] [stderr] 269 | | uninitialized(), [INFO] [stderr] 270 | | )); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 12] [INFO] [stderr] --> src/lib.rs:268:16 [INFO] [stderr] | [INFO] [stderr] 268 | forget(transmute::, [u8; 12]>( [INFO] [stderr] | ________________^ [INFO] [stderr] 269 | | uninitialized(), [INFO] [stderr] 270 | | )); [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] warning: casting u8 to f32 may become silently lossy if types change [INFO] [stderr] --> src/network/road.rs:310:56 [INFO] [stderr] | [INFO] [stderr] 310 | 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] = 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] 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] error: aborting due to 8 previous errors [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] error: Could not compile `ch`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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] = 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:265:9 [INFO] [stderr] | [INFO] [stderr] 265 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 4] [INFO] [stderr] --> src/lib.rs:265:16 [INFO] [stderr] | [INFO] [stderr] 265 | 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:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | forget(transmute::(uninitialized())); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 8] [INFO] [stderr] --> src/lib.rs:266:16 [INFO] [stderr] | [INFO] [stderr] 266 | 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::, [u8; 12]>( [INFO] [stderr] 269 | | uninitialized(), [INFO] [stderr] 270 | | )); [INFO] [stderr] | |__________^ [INFO] [stderr] | [INFO] [stderr] note: argument has type [u8; 12] [INFO] [stderr] --> src/lib.rs:268:16 [INFO] [stderr] | [INFO] [stderr] 268 | forget(transmute::, [u8; 12]>( [INFO] [stderr] | ________________^ [INFO] [stderr] 269 | | uninitialized(), [INFO] [stderr] 270 | | )); [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" "2703c7bdc3adedf2213de9fb6cde52e680578daa79da36ed005f98fe6f3c45f0"` [INFO] running `"docker" "rm" "-f" "2703c7bdc3adedf2213de9fb6cde52e680578daa79da36ed005f98fe6f3c45f0"` [INFO] [stdout] 2703c7bdc3adedf2213de9fb6cde52e680578daa79da36ed005f98fe6f3c45f0