[INFO] cloning repository https://github.com/LeaderGRL/graphbench-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LeaderGRL/graphbench-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeaderGRL%2Fgraphbench-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeaderGRL%2Fgraphbench-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 2aabd13341369d6a855cdbe322bdc4410e41cf9a
[INFO] testing LeaderGRL/graphbench-rs against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLeaderGRL%2Fgraphbench-rs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/LeaderGRL/graphbench-rs
[INFO] finished tweaking git repo https://github.com/LeaderGRL/graphbench-rs
[INFO] tweaked toml for git repo https://github.com/LeaderGRL/graphbench-rs written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/LeaderGRL/graphbench-rs on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/LeaderGRL/graphbench-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded criterion v0.6.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2a63e986296cbae95ef9da52d9a1eca93534f47aca6081742c044f56ea936bf6
[INFO] running `Command { std: "docker" "start" "-a" "2a63e986296cbae95ef9da52d9a1eca93534f47aca6081742c044f56ea936bf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2a63e986296cbae95ef9da52d9a1eca93534f47aca6081742c044f56ea936bf6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2a63e986296cbae95ef9da52d9a1eca93534f47aca6081742c044f56ea936bf6", kill_on_drop: false }`
[INFO] [stdout] 2a63e986296cbae95ef9da52d9a1eca93534f47aca6081742c044f56ea936bf6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 342ce282b4e8a279f66b6caad7236b7766a5dfa0c6ca289ffb0dd4328579832c
[INFO] running `Command { std: "docker" "start" "-a" "342ce282b4e8a279f66b6caad7236b7766a5dfa0c6ca289ffb0dd4328579832c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.103
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.6.0
[INFO] [stderr]    Compiling graph v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/sink.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `parallel`
[INFO] [stdout]    --> src/square_matrix.rs:280:7
[INFO] [stdout]     |
[INFO] [stdout] 280 | #[cfg(feature = "parallel")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `parallel` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/square_matrix.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `generate_random_matrix_density`, `generate_random_matrix`, and `matrices_equal`
[INFO] [stdout]    --> src/square_matrix.rs:552:25
[INFO] [stdout]     |
[INFO] [stdout] 552 |     use crate::matrix::{generate_random_matrix, generate_random_matrix_density, matrices_equal};
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/square_matrix.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/bfs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/bfs.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/bfs.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::topological_sort`
[INFO] [stdout]   --> src/dfs.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::topological_sort;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]    --> src/dfs.rs:323:13
[INFO] [stdout]     |
[INFO] [stdout] 323 |         use std::cmp;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/topological_sort.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `topological_sort`
[INFO] [stdout]  --> src/topological_sort.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{dfs::{self, dfs_adaptive}, topological_sort};
[INFO] [stdout]   |                   ^^^^                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/graph_generators.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/graph_generators.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut rng = thread_rng();
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/graph_generators.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut rng = thread_rng();
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::r#gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> src/graph_generators.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |             if i != j && rng.r#gen::<f64>() < edge_prob {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/graph_generators.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let r = rng.gen_range(0..total_degree);
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sink_vertex`
[INFO] [stdout]    --> src/sink.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let sink_vertex = Arc::new(AtomicUsize::new(0));
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sink_vertex`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_setzero_si256` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:286:24
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let zero_vec = _mm256_setzero_si256();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/sink.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | unsafe fn find_universal_sink_simd_impl(matrix: &Vec<Vec<usize>>) -> Option<usize> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:291:31
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 let row_vec = _mm256_loadu_si256(rows[candidate][w..].as_ptr() as *const __m256i);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_cmpeq_epi64` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:292:27
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 let cmp = _mm256_cmpeq_epi64(row_vec, zero_vec);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_movemask_epi8` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 if _mm256_movemask_epi8(cmp) != -1 {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/square_matrix.rs:328:17
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut row_bits: Vec<u64> = graph.rows.iter().map(|row| {
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bits`
[INFO] [stdout]    --> src/square_matrix.rs:327:30
[INFO] [stdout]     |
[INFO] [stdout] 327 |         if let BitVec::Small(ref bits) = graph.rows[0] {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]  --> src/square_adjacency.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let n = adj.len();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_bucket`
[INFO] [stdout]    --> src/bfs.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |                         let old_bucket = old_dist / delta;
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:324:26
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let colors_ptr = self.colors.as_ptr().add(start_idx) as *const __m256i;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     unsafe fn check_white_batch(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:325:26
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let colors_vec = _mm256_loadu_si256(colors_ptr);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         _mm_prefetch(neighbors_ptr, _MM_HINT_T0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:635:1
[INFO] [stdout]     |
[INFO] [stdout] 635 | unsafe fn prefetch_neighbors(graph: &[Vec<usize>], node: usize) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:661:12
[INFO] [stdout]     |
[INFO] [stdout] 661 |         ((*self.data.get_unchecked(u64_idx) >> bit_offset) & 0b11) as u8
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:658:5
[INFO] [stdout]     |
[INFO] [stdout] 658 |     pub unsafe fn get_unchecked(&self, idx: usize) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked_mut` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:672:19
[INFO] [stdout]     |
[INFO] [stdout] 672 |         let ptr = self.data.get_unchecked_mut(u64_idx);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:668:5
[INFO] [stdout]     |
[INFO] [stdout] 668 |     pub unsafe fn set_unchecked(&mut self, idx: usize, color: u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:684:11
[INFO] [stdout]     |
[INFO] [stdout] 684 |         (*self.data.get_unchecked(u64_idx) >> bit_offset) & 0b11 == 0
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:681:5
[INFO] [stdout]     |
[INFO] [stdout] 681 |     pub unsafe fn is_white_unchecked(&self, idx: usize) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:700:16
[INFO] [stdout]     |
[INFO] [stdout] 700 |             if self.is_white_unchecked(start_idx + i) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:693:5
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub unsafe fn check_white_batch_simd(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:808:16
[INFO] [stdout]     |
[INFO] [stdout] 808 |             if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:802:5
[INFO] [stdout]     |
[INFO] [stdout] 802 | /     unsafe fn explore_neighbors_simple(
[INFO] [stdout] 803 | |         &self,
[INFO] [stdout] 804 | |         neighbors: &[usize],
[INFO] [stdout] 805 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 806 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:826:13
[INFO] [stdout]     |
[INFO] [stdout] 826 |             _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:818:5
[INFO] [stdout]     |
[INFO] [stdout] 818 | /     unsafe fn explore_neighbors_prefetch(
[INFO] [stdout] 819 | |         &self,
[INFO] [stdout] 820 | |         neighbors: &[usize],
[INFO] [stdout] 821 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 822 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:833:31
[INFO] [stdout]     |
[INFO] [stdout] 833 |                 let next_v = *neighbors.get_unchecked(i + 8);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:835:17
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:838:22
[INFO] [stdout]     |
[INFO] [stdout] 838 |             let v = *neighbors.get_unchecked(neighbors.len() - 1 - i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:839:16
[INFO] [stdout]     |
[INFO] [stdout] 839 |             if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:859:20
[INFO] [stdout]     |
[INFO] [stdout] 859 |                 if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:851:5
[INFO] [stdout]     |
[INFO] [stdout] 851 | /     unsafe fn explore_neighbors_simd(
[INFO] [stdout] 852 | |         &self,
[INFO] [stdout] 853 | |         neighbors: &[usize],
[INFO] [stdout] 854 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 855 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:872:33
[INFO] [stdout]     |
[INFO] [stdout] 872 |             let neighbors_ptr = graph.get_unchecked(node).as_ptr() as *const i8;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:870:5
[INFO] [stdout]     |
[INFO] [stdout] 870 |     unsafe fn prefetch_node(&self, graph: &[Vec<usize>], node: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:873:13
[INFO] [stdout]     |
[INFO] [stdout] 873 |             _mm_prefetch(neighbors_ptr, _MM_HINT_T0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:877:9
[INFO] [stdout]     |
[INFO] [stdout] 877 |         _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_adj` is never used
[INFO] [stdout]  --> src/square_adjacency.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn square_adj(mut adj: Vec<HashSet<usize>>) -> Vec<HashSet<usize>> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose` is never used
[INFO] [stdout]  --> src/transpose.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn transpose(adj: &[Vec<usize>]) -> Vec<Vec<usize>> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/dfs.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ColorBitVector {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 70 |     data: Vec<u64>,
[INFO] [stdout] 71 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_white_batch` is never used
[INFO] [stdout]    --> src/dfs.rs:320:15
[INFO] [stdout]     |
[INFO] [stdout] 300 | impl DfsSimd {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     unsafe fn check_white_batch(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path_count` and `self`
[INFO] [stdout]  --> src/main.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use graph::topological_sort::{self, has_undirected_cycle, path_count};
[INFO] [stdout]   |                               ^^^^                        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `dfs_adaptive` and `dfs`
[INFO] [stdout]  --> src/main.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use graph::dfs::{dfs, dfs_adaptive};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Role` is never used
[INFO] [stdout]  --> src/main.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Role {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_bipartite` is never used
[INFO] [stdout]   --> src/main.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn is_bipartite(adjacency_list: Vec<Vec<usize>>) -> Option<Vec<Role>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bfs_furthest_node` is never used
[INFO] [stdout]   --> src/main.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn bfs_furthest_node(adj: &Vec<Vec<usize>>, start: usize) -> (usize, usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `explore_each_direction` is never used
[INFO] [stdout]   --> src/main.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn explore_each_direction(mut adj: Vec<Vec<usize>>, start: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.31s
[INFO] running `Command { std: "docker" "inspect" "342ce282b4e8a279f66b6caad7236b7766a5dfa0c6ca289ffb0dd4328579832c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "342ce282b4e8a279f66b6caad7236b7766a5dfa0c6ca289ffb0dd4328579832c", kill_on_drop: false }`
[INFO] [stdout] 342ce282b4e8a279f66b6caad7236b7766a5dfa0c6ca289ffb0dd4328579832c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e7875f7b0e8e4037aa511e2ea8ed1f68cb62951ec04d85a8e2c1b8a4f8029094
[INFO] running `Command { std: "docker" "start" "-a" "e7875f7b0e8e4037aa511e2ea8ed1f68cb62951ec04d85a8e2c1b8a4f8029094", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/sink.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `parallel`
[INFO] [stdout]    --> src/square_matrix.rs:280:7
[INFO] [stdout]     |
[INFO] [stdout] 280 | #[cfg(feature = "parallel")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `parallel` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/square_matrix.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `generate_random_matrix_density`, `generate_random_matrix`, and `matrices_equal`
[INFO] [stdout]    --> src/square_matrix.rs:552:25
[INFO] [stdout]     |
[INFO] [stdout] 552 |     use crate::matrix::{generate_random_matrix, generate_random_matrix_density, matrices_equal};
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/square_matrix.rs:553:9
[INFO] [stdout]     |
[INFO] [stdout] 553 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/bfs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/bfs.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/bfs.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::topological_sort`
[INFO] [stdout]   --> src/dfs.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::topological_sort;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]    --> src/dfs.rs:323:13
[INFO] [stdout]     |
[INFO] [stdout] 323 |         use std::cmp;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/topological_sort.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `topological_sort`
[INFO] [stdout]  --> src/topological_sort.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{dfs::{self, dfs_adaptive}, topological_sort};
[INFO] [stdout]   |                   ^^^^                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/graph_generators.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/graph_generators.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut rng = thread_rng();
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/graph_generators.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut rng = thread_rng();
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::r#gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> src/graph_generators.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |             if i != j && rng.r#gen::<f64>() < edge_prob {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/graph_generators.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let r = rng.gen_range(0..total_degree);
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sink_vertex`
[INFO] [stdout]    --> src/sink.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let sink_vertex = Arc::new(AtomicUsize::new(0));
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sink_vertex`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_setzero_si256` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:286:24
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let zero_vec = _mm256_setzero_si256();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/sink.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | unsafe fn find_universal_sink_simd_impl(matrix: &Vec<Vec<usize>>) -> Option<usize> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:291:31
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 let row_vec = _mm256_loadu_si256(rows[candidate][w..].as_ptr() as *const __m256i);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_cmpeq_epi64` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:292:27
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 let cmp = _mm256_cmpeq_epi64(row_vec, zero_vec);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_movemask_epi8` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 if _mm256_movemask_epi8(cmp) != -1 {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/square_matrix.rs:328:17
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut row_bits: Vec<u64> = graph.rows.iter().map(|row| {
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bits`
[INFO] [stdout]    --> src/square_matrix.rs:327:30
[INFO] [stdout]     |
[INFO] [stdout] 327 |         if let BitVec::Small(ref bits) = graph.rows[0] {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]  --> src/square_adjacency.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let n = adj.len();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_bucket`
[INFO] [stdout]    --> src/bfs.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |                         let old_bucket = old_dist / delta;
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:324:26
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let colors_ptr = self.colors.as_ptr().add(start_idx) as *const __m256i;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     unsafe fn check_white_batch(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:325:26
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let colors_vec = _mm256_loadu_si256(colors_ptr);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         _mm_prefetch(neighbors_ptr, _MM_HINT_T0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:635:1
[INFO] [stdout]     |
[INFO] [stdout] 635 | unsafe fn prefetch_neighbors(graph: &[Vec<usize>], node: usize) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:661:12
[INFO] [stdout]     |
[INFO] [stdout] 661 |         ((*self.data.get_unchecked(u64_idx) >> bit_offset) & 0b11) as u8
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:658:5
[INFO] [stdout]     |
[INFO] [stdout] 658 |     pub unsafe fn get_unchecked(&self, idx: usize) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked_mut` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:672:19
[INFO] [stdout]     |
[INFO] [stdout] 672 |         let ptr = self.data.get_unchecked_mut(u64_idx);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:668:5
[INFO] [stdout]     |
[INFO] [stdout] 668 |     pub unsafe fn set_unchecked(&mut self, idx: usize, color: u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:684:11
[INFO] [stdout]     |
[INFO] [stdout] 684 |         (*self.data.get_unchecked(u64_idx) >> bit_offset) & 0b11 == 0
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:681:5
[INFO] [stdout]     |
[INFO] [stdout] 681 |     pub unsafe fn is_white_unchecked(&self, idx: usize) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:700:16
[INFO] [stdout]     |
[INFO] [stdout] 700 |             if self.is_white_unchecked(start_idx + i) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:693:5
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub unsafe fn check_white_batch_simd(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:808:16
[INFO] [stdout]     |
[INFO] [stdout] 808 |             if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:802:5
[INFO] [stdout]     |
[INFO] [stdout] 802 | /     unsafe fn explore_neighbors_simple(
[INFO] [stdout] 803 | |         &self,
[INFO] [stdout] 804 | |         neighbors: &[usize],
[INFO] [stdout] 805 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 806 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:826:13
[INFO] [stdout]     |
[INFO] [stdout] 826 |             _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:818:5
[INFO] [stdout]     |
[INFO] [stdout] 818 | /     unsafe fn explore_neighbors_prefetch(
[INFO] [stdout] 819 | |         &self,
[INFO] [stdout] 820 | |         neighbors: &[usize],
[INFO] [stdout] 821 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 822 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:833:31
[INFO] [stdout]     |
[INFO] [stdout] 833 |                 let next_v = *neighbors.get_unchecked(i + 8);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:835:17
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:838:22
[INFO] [stdout]     |
[INFO] [stdout] 838 |             let v = *neighbors.get_unchecked(neighbors.len() - 1 - i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:839:16
[INFO] [stdout]     |
[INFO] [stdout] 839 |             if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:859:20
[INFO] [stdout]     |
[INFO] [stdout] 859 |                 if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:851:5
[INFO] [stdout]     |
[INFO] [stdout] 851 | /     unsafe fn explore_neighbors_simd(
[INFO] [stdout] 852 | |         &self,
[INFO] [stdout] 853 | |         neighbors: &[usize],
[INFO] [stdout] 854 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 855 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:872:33
[INFO] [stdout]     |
[INFO] [stdout] 872 |             let neighbors_ptr = graph.get_unchecked(node).as_ptr() as *const i8;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:870:5
[INFO] [stdout]     |
[INFO] [stdout] 870 |     unsafe fn prefetch_node(&self, graph: &[Vec<usize>], node: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:873:13
[INFO] [stdout]     |
[INFO] [stdout] 873 |             _mm_prefetch(neighbors_ptr, _MM_HINT_T0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:877:9
[INFO] [stdout]     |
[INFO] [stdout] 877 |         _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_adj` is never used
[INFO] [stdout]  --> src/square_adjacency.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn square_adj(mut adj: Vec<HashSet<usize>>) -> Vec<HashSet<usize>> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose` is never used
[INFO] [stdout]  --> src/transpose.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn transpose(adj: &[Vec<usize>]) -> Vec<Vec<usize>> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/dfs.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ColorBitVector {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 70 |     data: Vec<u64>,
[INFO] [stdout] 71 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_white_batch` is never used
[INFO] [stdout]    --> src/dfs.rs:320:15
[INFO] [stdout]     |
[INFO] [stdout] 300 | impl DfsSimd {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     unsafe fn check_white_batch(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]    Compiling graph v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `path_count` and `self`
[INFO] [stdout]  --> src/main.rs:2:31
[INFO] [stdout]   |
[INFO] [stdout] 2 | use graph::topological_sort::{self, has_undirected_cycle, path_count};
[INFO] [stdout]   |                               ^^^^                        ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `dfs_adaptive` and `dfs`
[INFO] [stdout]  --> src/main.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use graph::dfs::{dfs, dfs_adaptive};
[INFO] [stdout]   |                  ^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Role` is never used
[INFO] [stdout]  --> src/main.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | enum Role {
[INFO] [stdout]   |      ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_bipartite` is never used
[INFO] [stdout]   --> src/main.rs:11:4
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn is_bipartite(adjacency_list: Vec<Vec<usize>>) -> Option<Vec<Role>> {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `bfs_furthest_node` is never used
[INFO] [stdout]   --> src/main.rs:52:4
[INFO] [stdout]    |
[INFO] [stdout] 52 | fn bfs_furthest_node(adj: &Vec<Vec<usize>>, start: usize) -> (usize, usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `explore_each_direction` is never used
[INFO] [stdout]   --> src/main.rs:79:4
[INFO] [stdout]    |
[INFO] [stdout] 79 | fn explore_each_direction(mut adj: Vec<Vec<usize>>, start: usize) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/sink.rs:238:9
[INFO] [stdout]     |
[INFO] [stdout] 238 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unexpected `cfg` condition value: `parallel`
[INFO] [stdout]    --> src/square_matrix.rs:280:7
[INFO] [stdout]     |
[INFO] [stdout] 280 | #[cfg(feature = "parallel")]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stdout]     |
[INFO] [stdout]     = note: no expected values for `feature`
[INFO] [stdout]     = help: consider adding `parallel` as a feature in `Cargo.toml`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/square_matrix.rs:407:9
[INFO] [stdout]     |
[INFO] [stdout] 407 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `generate_random_matrix`
[INFO] [stdout]    --> src/square_matrix.rs:552:25
[INFO] [stdout]     |
[INFO] [stdout] 552 |     use crate::matrix::{generate_random_matrix, generate_random_matrix_density, matrices_equal};
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/bfs.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/bfs.rs:355:9
[INFO] [stdout]     |
[INFO] [stdout] 355 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::arch::x86_64::*`
[INFO] [stdout]    --> src/bfs.rs:370:9
[INFO] [stdout]     |
[INFO] [stdout] 370 |     use std::arch::x86_64::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::topological_sort`
[INFO] [stdout]   --> src/dfs.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | use crate::topological_sort;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp`
[INFO] [stdout]    --> src/dfs.rs:323:13
[INFO] [stdout]     |
[INFO] [stdout] 323 |         use std::cmp;
[INFO] [stdout]     |             ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/topological_sort.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `self` and `topological_sort`
[INFO] [stdout]  --> src/topological_sort.rs:3:19
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::{dfs::{self, dfs_adaptive}, topological_sort};
[INFO] [stdout]   |                   ^^^^                 ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]    --> src/square_matrix.rs:594:29
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |                             ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]     --> src/dfs.rs:1192:29
[INFO] [stdout]      |
[INFO] [stdout] 1192 |         let mut rng = rand::thread_rng();
[INFO] [stdout]      |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]  --> src/graph_generators.rs:2:11
[INFO] [stdout]   |
[INFO] [stdout] 2 | use rand::thread_rng;
[INFO] [stdout]   |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/graph_generators.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let mut rng = thread_rng();
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stdout]   --> src/graph_generators.rs:85:19
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let mut rng = thread_rng();
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]     --> src/dfs.rs:1198:29
[INFO] [stdout]      |
[INFO] [stdout] 1198 |                 let v = rng.gen_range(0..n);
[INFO] [stdout]      |                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::r#gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stdout]   --> src/graph_generators.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 |             if i != j && rng.r#gen::<f64>() < edge_prob {
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stdout]    --> src/graph_generators.rs:106:25
[INFO] [stdout]     |
[INFO] [stdout] 106 |             let r = rng.gen_range(0..total_degree);
[INFO] [stdout]     |                         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sink_vertex`
[INFO] [stdout]    --> src/sink.rs:189:9
[INFO] [stdout]     |
[INFO] [stdout] 189 |     let sink_vertex = Arc::new(AtomicUsize::new(0));
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sink_vertex`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_setzero_si256` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:286:24
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let zero_vec = _mm256_setzero_si256();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/sink.rs:253:1
[INFO] [stdout]     |
[INFO] [stdout] 253 | unsafe fn find_universal_sink_simd_impl(matrix: &Vec<Vec<usize>>) -> Option<usize> {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:291:31
[INFO] [stdout]     |
[INFO] [stdout] 291 |                 let row_vec = _mm256_loadu_si256(rows[candidate][w..].as_ptr() as *const __m256i);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_cmpeq_epi64` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:292:27
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 let cmp = _mm256_cmpeq_epi64(row_vec, zero_vec);
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm256_movemask_epi8` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/sink.rs:293:20
[INFO] [stdout]     |
[INFO] [stdout] 293 |                 if _mm256_movemask_epi8(cmp) != -1 {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/square_matrix.rs:328:17
[INFO] [stdout]     |
[INFO] [stdout] 328 |             let mut row_bits: Vec<u64> = graph.rows.iter().map(|row| {
[INFO] [stdout]     |                 ----^^^^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `bits`
[INFO] [stdout]    --> src/square_matrix.rs:327:30
[INFO] [stdout]     |
[INFO] [stdout] 327 |         if let BitVec::Small(ref bits) = graph.rows[0] {
[INFO] [stdout]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/square_matrix.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ----^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `rng`
[INFO] [stdout]    --> src/square_matrix.rs:594:13
[INFO] [stdout]     |
[INFO] [stdout] 594 |         let mut rng = rand::thread_rng();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]  --> src/square_adjacency.rs:4:9
[INFO] [stdout]   |
[INFO] [stdout] 4 |     let n = adj.len();
[INFO] [stdout]   |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `old_bucket`
[INFO] [stdout]    --> src/bfs.rs:333:29
[INFO] [stdout]     |
[INFO] [stdout] 333 |                         let old_bucket = old_dist / delta;
[INFO] [stdout]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_bucket`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:324:26
[INFO] [stdout]     |
[INFO] [stdout] 324 |         let colors_ptr = self.colors.as_ptr().add(start_idx) as *const __m256i;
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:320:5
[INFO] [stdout]     |
[INFO] [stdout] 320 |     unsafe fn check_white_batch(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:325:26
[INFO] [stdout]     |
[INFO] [stdout] 325 |         let colors_vec = _mm256_loadu_si256(colors_ptr);
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:639:9
[INFO] [stdout]     |
[INFO] [stdout] 639 |         _mm_prefetch(neighbors_ptr, _MM_HINT_T0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:635:1
[INFO] [stdout]     |
[INFO] [stdout] 635 | unsafe fn prefetch_neighbors(graph: &[Vec<usize>], node: usize) {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:661:12
[INFO] [stdout]     |
[INFO] [stdout] 661 |         ((*self.data.get_unchecked(u64_idx) >> bit_offset) & 0b11) as u8
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:658:5
[INFO] [stdout]     |
[INFO] [stdout] 658 |     pub unsafe fn get_unchecked(&self, idx: usize) -> u8 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked_mut` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:672:19
[INFO] [stdout]     |
[INFO] [stdout] 672 |         let ptr = self.data.get_unchecked_mut(u64_idx);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:668:5
[INFO] [stdout]     |
[INFO] [stdout] 668 |     pub unsafe fn set_unchecked(&mut self, idx: usize, color: u8) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:684:11
[INFO] [stdout]     |
[INFO] [stdout] 684 |         (*self.data.get_unchecked(u64_idx) >> bit_offset) & 0b11 == 0
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:681:5
[INFO] [stdout]     |
[INFO] [stdout] 681 |     pub unsafe fn is_white_unchecked(&self, idx: usize) -> bool {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:700:16
[INFO] [stdout]     |
[INFO] [stdout] 700 |             if self.is_white_unchecked(start_idx + i) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:693:5
[INFO] [stdout]     |
[INFO] [stdout] 693 |     pub unsafe fn check_white_batch_simd(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:808:16
[INFO] [stdout]     |
[INFO] [stdout] 808 |             if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:802:5
[INFO] [stdout]     |
[INFO] [stdout] 802 | /     unsafe fn explore_neighbors_simple(
[INFO] [stdout] 803 | |         &self,
[INFO] [stdout] 804 | |         neighbors: &[usize],
[INFO] [stdout] 805 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 806 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:826:13
[INFO] [stdout]     |
[INFO] [stdout] 826 |             _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:818:5
[INFO] [stdout]     |
[INFO] [stdout] 818 | /     unsafe fn explore_neighbors_prefetch(
[INFO] [stdout] 819 | |         &self,
[INFO] [stdout] 820 | |         neighbors: &[usize],
[INFO] [stdout] 821 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 822 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:833:31
[INFO] [stdout]     |
[INFO] [stdout] 833 |                 let next_v = *neighbors.get_unchecked(i + 8);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:835:17
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:838:22
[INFO] [stdout]     |
[INFO] [stdout] 838 |             let v = *neighbors.get_unchecked(neighbors.len() - 1 - i);
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:839:16
[INFO] [stdout]     |
[INFO] [stdout] 839 |             if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:859:20
[INFO] [stdout]     |
[INFO] [stdout] 859 |                 if self.colors.is_white_unchecked(v) {
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:851:5
[INFO] [stdout]     |
[INFO] [stdout] 851 | /     unsafe fn explore_neighbors_simd(
[INFO] [stdout] 852 | |         &self,
[INFO] [stdout] 853 | |         neighbors: &[usize],
[INFO] [stdout] 854 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stdout] 855 | |     ) {
[INFO] [stdout]     | |_____^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:872:33
[INFO] [stdout]     |
[INFO] [stdout] 872 |             let neighbors_ptr = graph.get_unchecked(node).as_ptr() as *const i8;
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stdout]    --> src/dfs.rs:870:5
[INFO] [stdout]     |
[INFO] [stdout] 870 |     unsafe fn prefetch_node(&self, graph: &[Vec<usize>], node: usize) {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:873:13
[INFO] [stdout]     |
[INFO] [stdout] 873 |             _mm_prefetch(neighbors_ptr, _MM_HINT_T0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stdout]    --> src/dfs.rs:877:9
[INFO] [stdout]     |
[INFO] [stdout] 877 |         _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stdout]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stdout]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `square_adj` is never used
[INFO] [stdout]  --> src/square_adjacency.rs:3:4
[INFO] [stdout]   |
[INFO] [stdout] 3 | fn square_adj(mut adj: Vec<HashSet<usize>>) -> Vec<HashSet<usize>> {
[INFO] [stdout]   |    ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `transpose` is never used
[INFO] [stdout]  --> src/transpose.rs:1:4
[INFO] [stdout]   |
[INFO] [stdout] 1 | fn transpose(adj: &[Vec<usize>]) -> Vec<Vec<usize>> {
[INFO] [stdout]   |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/dfs.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct ColorBitVector {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 70 |     data: Vec<u64>,
[INFO] [stdout] 71 |     size: usize,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_white_batch` is never used
[INFO] [stdout]    --> src/dfs.rs:320:15
[INFO] [stdout]     |
[INFO] [stdout] 300 | impl DfsSimd {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 320 |     unsafe fn check_white_batch(&self, start_idx: usize) -> u32 {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.70s
[INFO] running `Command { std: "docker" "inspect" "e7875f7b0e8e4037aa511e2ea8ed1f68cb62951ec04d85a8e2c1b8a4f8029094", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e7875f7b0e8e4037aa511e2ea8ed1f68cb62951ec04d85a8e2c1b8a4f8029094", kill_on_drop: false }`
[INFO] [stdout] e7875f7b0e8e4037aa511e2ea8ed1f68cb62951ec04d85a8e2c1b8a4f8029094
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] eb2b401f0364829331c6366df94de22e593e3928411451d0bff794e1f0091f75
[INFO] running `Command { std: "docker" "start" "-a" "eb2b401f0364829331c6366df94de22e593e3928411451d0bff794e1f0091f75", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::arch::x86_64::*`
[INFO] [stderr]    --> src/sink.rs:238:9
[INFO] [stderr]     |
[INFO] [stderr] 238 |     use std::arch::x86_64::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected `cfg` condition value: `parallel`
[INFO] [stderr]    --> src/square_matrix.rs:280:7
[INFO] [stderr]     |
[INFO] [stderr] 280 | #[cfg(feature = "parallel")]
[INFO] [stderr]     |       ^^^^^^^^^^^^^^^^^^^^ help: remove the condition
[INFO] [stderr]     |
[INFO] [stderr]     = note: no expected values for `feature`
[INFO] [stderr]     = help: consider adding `parallel` as a feature in `Cargo.toml`
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::arch::x86_64::*`
[INFO] [stderr]    --> src/square_matrix.rs:407:9
[INFO] [stderr]     |
[INFO] [stderr] 407 |     use std::arch::x86_64::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `generate_random_matrix_density`, `generate_random_matrix`, and `matrices_equal`
[INFO] [stderr]    --> src/square_matrix.rs:552:25
[INFO] [stderr]     |
[INFO] [stderr] 552 |     use crate::matrix::{generate_random_matrix, generate_random_matrix_density, matrices_equal};
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::*`
[INFO] [stderr]    --> src/square_matrix.rs:553:9
[INFO] [stderr]     |
[INFO] [stderr] 553 |     use super::*;
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> src/bfs.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::arch::x86_64::*`
[INFO] [stderr]    --> src/bfs.rs:355:9
[INFO] [stderr]     |
[INFO] [stderr] 355 |     use std::arch::x86_64::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::arch::x86_64::*`
[INFO] [stderr]    --> src/bfs.rs:370:9
[INFO] [stderr]     |
[INFO] [stderr] 370 |     use std::arch::x86_64::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::topological_sort`
[INFO] [stderr]   --> src/dfs.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | use crate::topological_sort;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::cmp`
[INFO] [stderr]    --> src/dfs.rs:323:13
[INFO] [stderr]     |
[INFO] [stderr] 323 |         use std::cmp;
[INFO] [stderr]     |             ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::VecDeque`
[INFO] [stderr]  --> src/topological_sort.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::VecDeque;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `self` and `topological_sort`
[INFO] [stderr]  --> src/topological_sort.rs:3:19
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::{dfs::{self, dfs_adaptive}, topological_sort};
[INFO] [stderr]   |                   ^^^^                 ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]  --> src/graph_generators.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rand::thread_rng;
[INFO] [stderr]   |           ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/graph_generators.rs:19:19
[INFO] [stderr]    |
[INFO] [stderr] 19 |     let mut rng = thread_rng();
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]   --> src/graph_generators.rs:85:19
[INFO] [stderr]    |
[INFO] [stderr] 85 |     let mut rng = thread_rng();
[INFO] [stderr]    |                   ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::r#gen`: Renamed to `random` to avoid conflict with the new `gen` keyword in Rust 2024.
[INFO] [stderr]   --> src/graph_generators.rs:24:30
[INFO] [stderr]    |
[INFO] [stderr] 24 |             if i != j && rng.r#gen::<f64>() < edge_prob {
[INFO] [stderr]    |                              ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]    --> src/graph_generators.rs:106:25
[INFO] [stderr]     |
[INFO] [stderr] 106 |             let r = rng.gen_range(0..total_degree);
[INFO] [stderr]     |                         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sink_vertex`
[INFO] [stderr]    --> src/sink.rs:189:9
[INFO] [stderr]     |
[INFO] [stderr] 189 |     let sink_vertex = Arc::new(AtomicUsize::new(0));
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sink_vertex`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to function `std::arch::x86_64::_mm256_setzero_si256` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/sink.rs:286:24
[INFO] [stderr]     |
[INFO] [stderr] 286 |         let zero_vec = _mm256_setzero_si256();
[INFO] [stderr]     |                        ^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = help: in order for the call to be safe, the context requires the following additional target feature: avx
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/sink.rs:253:1
[INFO] [stderr]     |
[INFO] [stderr] 253 | unsafe fn find_universal_sink_simd_impl(matrix: &Vec<Vec<usize>>) -> Option<usize> {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     = note: `#[warn(unsafe_op_in_unsafe_fn)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/sink.rs:291:31
[INFO] [stderr]     |
[INFO] [stderr] 291 |                 let row_vec = _mm256_loadu_si256(rows[candidate][w..].as_ptr() as *const __m256i);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to function `std::arch::x86_64::_mm256_cmpeq_epi64` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/sink.rs:292:27
[INFO] [stderr]     |
[INFO] [stderr] 292 |                 let cmp = _mm256_cmpeq_epi64(row_vec, zero_vec);
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to function `std::arch::x86_64::_mm256_movemask_epi8` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/sink.rs:293:20
[INFO] [stderr]     |
[INFO] [stderr] 293 |                 if _mm256_movemask_epi8(cmp) != -1 {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = help: in order for the call to be safe, the context requires the following additional target feature: avx2
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/square_matrix.rs:328:17
[INFO] [stderr]     |
[INFO] [stderr] 328 |             let mut row_bits: Vec<u64> = graph.rows.iter().map(|row| {
[INFO] [stderr]     |                 ----^^^^^^^^
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `bits`
[INFO] [stderr]    --> src/square_matrix.rs:327:30
[INFO] [stderr]     |
[INFO] [stderr] 327 |         if let BitVec::Small(ref bits) = graph.rows[0] {
[INFO] [stderr]     |                              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_bits`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `n`
[INFO] [stderr]  --> src/square_adjacency.rs:4:9
[INFO] [stderr]   |
[INFO] [stderr] 4 |     let n = adj.len();
[INFO] [stderr]   |         ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `old_bucket`
[INFO] [stderr]    --> src/bfs.rs:333:29
[INFO] [stderr]     |
[INFO] [stderr] 333 |                         let old_bucket = old_dist / delta;
[INFO] [stderr]     |                             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_old_bucket`
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `std::ptr::const_ptr::<impl *const T>::add` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:324:26
[INFO] [stderr]     |
[INFO] [stderr] 324 |         let colors_ptr = self.colors.as_ptr().add(start_idx) as *const __m256i;
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:320:5
[INFO] [stderr]     |
[INFO] [stderr] 320 |     unsafe fn check_white_batch(&self, start_idx: usize) -> u32 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `std::arch::x86_64::_mm256_loadu_si256` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:325:26
[INFO] [stderr]     |
[INFO] [stderr] 325 |         let colors_vec = _mm256_loadu_si256(colors_ptr);
[INFO] [stderr]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:639:9
[INFO] [stderr]     |
[INFO] [stderr] 639 |         _mm_prefetch(neighbors_ptr, _MM_HINT_T0);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stderr]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:635:1
[INFO] [stderr]     |
[INFO] [stderr] 635 | unsafe fn prefetch_neighbors(graph: &[Vec<usize>], node: usize) {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:661:12
[INFO] [stderr]     |
[INFO] [stderr] 661 |         ((*self.data.get_unchecked(u64_idx) >> bit_offset) & 0b11) as u8
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:658:5
[INFO] [stderr]     |
[INFO] [stderr] 658 |     pub unsafe fn get_unchecked(&self, idx: usize) -> u8 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked_mut` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:672:19
[INFO] [stderr]     |
[INFO] [stderr] 672 |         let ptr = self.data.get_unchecked_mut(u64_idx);
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:668:5
[INFO] [stderr]     |
[INFO] [stderr] 668 |     pub unsafe fn set_unchecked(&mut self, idx: usize, color: u8) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:684:11
[INFO] [stderr]     |
[INFO] [stderr] 684 |         (*self.data.get_unchecked(u64_idx) >> bit_offset) & 0b11 == 0
[INFO] [stderr]     |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:681:5
[INFO] [stderr]     |
[INFO] [stderr] 681 |     pub unsafe fn is_white_unchecked(&self, idx: usize) -> bool {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:700:16
[INFO] [stderr]     |
[INFO] [stderr] 700 |             if self.is_white_unchecked(start_idx + i) {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:693:5
[INFO] [stderr]     |
[INFO] [stderr] 693 |     pub unsafe fn check_white_batch_simd(&self, start_idx: usize) -> u32 {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:808:16
[INFO] [stderr]     |
[INFO] [stderr] 808 |             if self.colors.is_white_unchecked(v) {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:802:5
[INFO] [stderr]     |
[INFO] [stderr] 802 | /     unsafe fn explore_neighbors_simple(
[INFO] [stderr] 803 | |         &self,
[INFO] [stderr] 804 | |         neighbors: &[usize],
[INFO] [stderr] 805 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stderr] 806 | |     ) {
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:826:13
[INFO] [stderr]     |
[INFO] [stderr] 826 |             _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stderr]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:818:5
[INFO] [stderr]     |
[INFO] [stderr] 818 | /     unsafe fn explore_neighbors_prefetch(
[INFO] [stderr] 819 | |         &self,
[INFO] [stderr] 820 | |         neighbors: &[usize],
[INFO] [stderr] 821 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stderr] 822 | |     ) {
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:833:31
[INFO] [stderr]     |
[INFO] [stderr] 833 |                 let next_v = *neighbors.get_unchecked(i + 8);
[INFO] [stderr]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:835:17
[INFO] [stderr]     |
[INFO] [stderr] 835 |                 _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stderr]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:838:22
[INFO] [stderr]     |
[INFO] [stderr] 838 |             let v = *neighbors.get_unchecked(neighbors.len() - 1 - i);
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:839:16
[INFO] [stderr]     |
[INFO] [stderr] 839 |             if self.colors.is_white_unchecked(v) {
[INFO] [stderr]     |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `dfs::ColorBitsetUltimate::is_white_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:859:20
[INFO] [stderr]     |
[INFO] [stderr] 859 |                 if self.colors.is_white_unchecked(v) {
[INFO] [stderr]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:851:5
[INFO] [stderr]     |
[INFO] [stderr] 851 | /     unsafe fn explore_neighbors_simd(
[INFO] [stderr] 852 | |         &self,
[INFO] [stderr] 853 | |         neighbors: &[usize],
[INFO] [stderr] 854 | |         stack: &mut bumpalo::collections::Vec<'arena, (usize, bool)>
[INFO] [stderr] 855 | |     ) {
[INFO] [stderr]     | |_____^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to unsafe function `core::slice::<impl [T]>::get_unchecked` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:872:33
[INFO] [stderr]     |
[INFO] [stderr] 872 |             let neighbors_ptr = graph.get_unchecked(node).as_ptr() as *const i8;
[INFO] [stderr]     |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stderr] note: an unsafe function restricts its caller, but its body is safe by default
[INFO] [stderr]    --> src/dfs.rs:870:5
[INFO] [stderr]     |
[INFO] [stderr] 870 |     unsafe fn prefetch_node(&self, graph: &[Vec<usize>], node: usize) {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:873:13
[INFO] [stderr]     |
[INFO] [stderr] 873 |             _mm_prefetch(neighbors_ptr, _MM_HINT_T0);
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stderr]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stderr] 
[INFO] [stderr] warning[E0133]: call to function `std::arch::x86_64::_mm_prefetch` with `#[target_feature]` is unsafe and requires unsafe block
[INFO] [stderr]    --> src/dfs.rs:877:9
[INFO] [stderr]     |
[INFO] [stderr] 877 |         _mm_prefetch(color_ptr, _MM_HINT_T0);
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to function with `#[target_feature]`
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/unsafe-op-in-unsafe-fn.html>
[INFO] [stderr]     = help: in order for the call to be safe, the context requires the following additional target feature: sse
[INFO] [stderr]     = note: the sse target feature being enabled in the build configuration does not remove the requirement to list it in `#[target_feature]`
[INFO] [stderr] 
[INFO] [stderr] warning: function `square_adj` is never used
[INFO] [stderr]  --> src/square_adjacency.rs:3:4
[INFO] [stderr]   |
[INFO] [stderr] 3 | fn square_adj(mut adj: Vec<HashSet<usize>>) -> Vec<HashSet<usize>> {
[INFO] [stderr]   |    ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `transpose` is never used
[INFO] [stderr]  --> src/transpose.rs:1:4
[INFO] [stderr]   |
[INFO] [stderr] 1 | fn transpose(adj: &[Vec<usize>]) -> Vec<Vec<usize>> {
[INFO] [stderr]   |    ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `size` is never read
[INFO] [stderr]   --> src/dfs.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub struct ColorBitVector {
[INFO] [stderr]    |            -------------- field in this struct
[INFO] [stderr] 70 |     data: Vec<u64>,
[INFO] [stderr] 71 |     size: usize,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `check_white_batch` is never used
[INFO] [stderr]    --> src/dfs.rs:320:15
[INFO] [stderr]     |
[INFO] [stderr] 300 | impl DfsSimd {
[INFO] [stderr]     | ------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 320 |     unsafe fn check_white_batch(&self, start_idx: usize) -> u32 {
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0133`.
[INFO] [stderr] warning: unused import: `generate_random_matrix`
[INFO] [stderr]    --> src/square_matrix.rs:552:25
[INFO] [stderr]     |
[INFO] [stderr] 552 |     use crate::matrix::{generate_random_matrix, generate_random_matrix_density, matrices_equal};
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]    --> src/square_matrix.rs:594:29
[INFO] [stderr]     |
[INFO] [stderr] 594 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |                             ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]     --> src/dfs.rs:1192:29
[INFO] [stderr]      |
[INFO] [stderr] 1192 |         let mut rng = rand::thread_rng();
[INFO] [stderr]      |                             ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated function `rand::thread_rng`: Renamed to `rng`
[INFO] [stderr]  --> src/graph_generators.rs:2:11
[INFO] [stderr]   |
[INFO] [stderr] 2 | use rand::thread_rng;
[INFO] [stderr]   |           ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `rand::Rng::gen_range`: Renamed to `random_range`
[INFO] [stderr]     --> src/dfs.rs:1198:29
[INFO] [stderr]      |
[INFO] [stderr] 1198 |                 let v = rng.gen_range(0..n);
[INFO] [stderr]      |                             ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/square_matrix.rs:594:13
[INFO] [stderr]     |
[INFO] [stderr] 594 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ----^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `rng`
[INFO] [stderr]    --> src/square_matrix.rs:594:13
[INFO] [stderr]     |
[INFO] [stderr] 594 |         let mut rng = rand::thread_rng();
[INFO] [stderr]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rng`
[INFO] [stderr] 
[INFO] [stderr] warning: `graph` (lib) generated 47 warnings (run `cargo fix --lib -p graph` to apply 27 suggestions)
[INFO] [stderr] warning: `graph` (lib test) generated 51 warnings (44 duplicates) (run `cargo fix --lib -p graph --tests` to apply 3 suggestions)
[INFO] [stderr] warning: unused imports: `path_count` and `self`
[INFO] [stderr]  --> src/main.rs:2:31
[INFO] [stderr]   |
[INFO] [stderr] 2 | use graph::topological_sort::{self, has_undirected_cycle, path_count};
[INFO] [stderr]   |                               ^^^^                        ^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `dfs_adaptive` and `dfs`
[INFO] [stderr]  --> src/main.rs:3:18
[INFO] [stderr]   |
[INFO] [stderr] 3 | use graph::dfs::{dfs, dfs_adaptive};
[INFO] [stderr]   |                  ^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `Role` is never used
[INFO] [stderr]  --> src/main.rs:6:6
[INFO] [stderr]   |
[INFO] [stderr] 6 | enum Role {
[INFO] [stderr]   |      ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `is_bipartite` is never used
[INFO] [stderr]   --> src/main.rs:11:4
[INFO] [stderr]    |
[INFO] [stderr] 11 | fn is_bipartite(adjacency_list: Vec<Vec<usize>>) -> Option<Vec<Role>> {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `bfs_furthest_node` is never used
[INFO] [stderr]   --> src/main.rs:52:4
[INFO] [stderr]    |
[INFO] [stderr] 52 | fn bfs_furthest_node(adj: &Vec<Vec<usize>>, start: usize) -> (usize, usize) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `explore_each_direction` is never used
[INFO] [stderr]   --> src/main.rs:79:4
[INFO] [stderr]    |
[INFO] [stderr] 79 | fn explore_each_direction(mut adj: Vec<Vec<usize>>, start: usize) {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `graph` (bin "graph" test) generated 6 warnings (run `cargo fix --bin "graph" -p graph --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.14s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/graph-b313888d40ff53a7)
[INFO] [stdout] 
[INFO] [stdout] running 25 tests
[INFO] [stdout] test bfs::tests::test_bidirectional_bfs ... ok
[INFO] [stdout] test dfs::tests::test_disconnected_graph ... ok
[INFO] [stdout] test dfs::tests::test_complete_graph_small ... ok
[INFO] [stdout] test bfs::tests::test_large_graph ... ok
[INFO] [stdout] test dfs::tests::test_simple_chain ... ok
[INFO] [stdout] test dfs::tests::test_parenthesis_property ... ok
[INFO] [stdout] test dfs::tests::test_single_node ... ok
[INFO] [stdout] test dfs::tests::test_all_algorithms_same_result ... ok
[INFO] [stdout] test dfs::tests::test_star_graph ... ok
[INFO] [stdout] test sink::tests::test_edge_cases ... ok
[INFO] [stdout] test dfs::tests::test_timestamps_range ... ok
[INFO] [stdout] test dfs::tests::test_very_sparse_graph ... ok
[INFO] [stdout] test sink::tests::test_all_algorithms_with_sink ... ok
[INFO] [stdout] test sink::tests::test_all_algorithms_without_sink ... ok
[INFO] [stdout] test dfs::tests::test_simple_dag ... ok
[INFO] [stdout] test square_matrix::tests::test_edge_cases ... ok
[INFO] [stdout] test square_matrix::tests::test_bitvec_operations ... ok
[INFO] [stdout] test square_matrix::tests::test_simple_graph ... ok
[INFO] [stdout] test dfs::tests::test_large_graph ... ok
[INFO] [stdout] test square_matrix::tests::test_ultra_optimized_correctness ... ok
[INFO] [stdout] test square_matrix::tests::test_all_versions_consistency ... ok
[INFO] [stdout] test dfs::tests::test_all_vertices_visited ... ok
[INFO] [stdout] test dfs::tests::test_dense_graph ... ok
[INFO] [stdout] test bfs::tests::test_all_bfs_variants ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/graph-839ec4a4acda905b)
[INFO] [stdout] test sink::tests::test_large_matrices ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]    Doc-tests graph
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/dfs.rs - dfs::dfs_ultimate (line 884) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/dfs.rs - dfs::dfs_ultimate (line 884) stdout ----
[INFO] [stdout] error[E0425]: cannot find function `dfs_ultimate` in this scope
[INFO] [stdout]    --> src/dfs.rs:886:11
[INFO] [stdout]     |
[INFO] [stdout] 886 | let out = dfs_ultimate(&g);
[INFO] [stdout]     |           ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]     |
[INFO] [stdout] 884 + use graph::dfs::dfs_ultimate;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/dfs.rs - dfs::dfs_ultimate (line 884)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.37s; merged doctests compilation took 0.24s
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "eb2b401f0364829331c6366df94de22e593e3928411451d0bff794e1f0091f75", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb2b401f0364829331c6366df94de22e593e3928411451d0bff794e1f0091f75", kill_on_drop: false }`
[INFO] [stdout] eb2b401f0364829331c6366df94de22e593e3928411451d0bff794e1f0091f75
