[INFO] fetching crate hicollections 0.1.0...
[INFO] checking hicollections-0.1.0 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate hicollections 0.1.0 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate hicollections 0.1.0 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hicollections 0.1.0
[INFO] finished tweaking crates.io crate hicollections 0.1.0
[INFO] tweaked toml for crates.io crate hicollections 0.1.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded iai v0.1.1
[INFO] [stderr]   Downloaded hipool v0.1.1
[INFO] [stderr]   Downloaded hierr v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4161a0fa8bce968fad6fc64a314ac8f181b06a83e243c84d1214a53c71112aab
[INFO] running `Command { std: "docker" "start" "-a" "4161a0fa8bce968fad6fc64a314ac8f181b06a83e243c84d1214a53c71112aab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4161a0fa8bce968fad6fc64a314ac8f181b06a83e243c84d1214a53c71112aab", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4161a0fa8bce968fad6fc64a314ac8f181b06a83e243c84d1214a53c71112aab", kill_on_drop: false }`
[INFO] [stdout] 4161a0fa8bce968fad6fc64a314ac8f181b06a83e243c84d1214a53c71112aab
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ba4111220ca28226afcafe6f31dff807ec081ee312e88b22c4e1d02e0124ba6b
[INFO] running `Command { std: "docker" "start" "-a" "ba4111220ca28226afcafe6f31dff807ec081ee312e88b22c4e1d02e0124ba6b", kill_on_drop: false }`
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking hierr v0.1.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking iai v0.1.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking hipool v0.1.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking criterion-plot v0.4.5
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking hicollections v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]   --> src/rbtree.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Ord` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/node.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/map.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/set.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking criterion v0.3.6
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/search.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> benches/search.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr`
[INFO] [stdout]  --> benches/search.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ptr;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/tree_benchmark.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]  --> benches/tree_benchmark.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand;
[INFO] [stdout]   |     ^^^^ the item `rand` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialEq` is imported redundantly
[INFO] [stdout]  --> benches/tree_benchmark.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialOrd` is imported redundantly
[INFO] [stdout]  --> benches/tree_benchmark.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]   |                                     ^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `PartialOrd` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `size_of`
[INFO] [stdout]  --> benches/tree_benchmark.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::mem::{MaybeUninit, size_of};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NonNull`
[INFO] [stdout]   --> benches/tree_benchmark.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ptr::{self, NonNull};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]   --> benches/tree_benchmark.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::slice;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> benches/tree_benchmark.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn std_binary<K>(mut pkey: *const K, len: usize, key: &K) -> Result<usize, usize>
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn slice_linear<K, Q>(mut pkey: *const K, len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn idx_linear<K, Q>(mut pkey: *const K, len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn slice_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn idx_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/search.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn ptr_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]   --> src/rbtree.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]   --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Ord` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]     --> src/rbtree.rs:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1037 |     use rand;
[INFO] [stdout]      |         ^^^^ the item `rand` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialEq` is imported redundantly
[INFO] [stdout]     --> src/rbtree.rs:1039:30
[INFO] [stdout]      |
[INFO] [stdout] 1039 |     use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]      |                              ^^^^^^^^^
[INFO] [stdout]     --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]      |
[INFO] [stdout]      = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialOrd` is imported redundantly
[INFO] [stdout]     --> src/rbtree.rs:1039:41
[INFO] [stdout]      |
[INFO] [stdout] 1039 |     use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]      |                                         ^^^^^^^^^^
[INFO] [stdout]     --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]      |
[INFO] [stdout]      = note: the item `PartialOrd` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]     --> src/avltree.rs:1110:9
[INFO] [stdout]      |
[INFO] [stdout] 1110 |     use rand;
[INFO] [stdout]      |         ^^^^ the item `rand` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialEq` is imported redundantly
[INFO] [stdout]     --> src/avltree.rs:1112:30
[INFO] [stdout]      |
[INFO] [stdout] 1112 |     use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]      |                              ^^^^^^^^^
[INFO] [stdout]     --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]      |
[INFO] [stdout]      = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialOrd` is imported redundantly
[INFO] [stdout]     --> src/avltree.rs:1112:41
[INFO] [stdout]      |
[INFO] [stdout] 1112 |     use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]      |                                         ^^^^^^^^^^
[INFO] [stdout]     --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]      |
[INFO] [stdout]      = note: the item `PartialOrd` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/node.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/map.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/set.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> benches/search.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             f(self.data.as_ptr(), self.data.len(), &key);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let _ = f(self.data.as_ptr(), self.data.len(), &key);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> benches/tree_benchmark.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let data = unsafe { &mut DATA };
[INFO] [stdout]     |                         ^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: this will be a hard error in the 2024 edition
[INFO] [stdout]     = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let data = unsafe { addr_of_mut!(DATA) };
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:325:25
[INFO] [stdout]     |
[INFO] [stdout] 325 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:306:25
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     let mut ctx = AvlCtx::new(cnts[i], |foo| unsafe { ptr::addr_of!((*foo).node) });
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     let mut ctx = RbCtx::new(cnts[i], |foo| unsafe { ptr::addr_of!((*foo).node) });
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     let mut ctx = BTreeCtx::new(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:349:25
[INFO] [stdout]     |
[INFO] [stdout] 349 |                     let mut ctx = SetCtx::new(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:373:25
[INFO] [stdout]     |
[INFO] [stdout] 373 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:390:25
[INFO] [stdout]     |
[INFO] [stdout] 390 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:467:25
[INFO] [stdout]     |
[INFO] [stdout] 467 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:530:25
[INFO] [stdout]     |
[INFO] [stdout] 530 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:545:25
[INFO] [stdout]     |
[INFO] [stdout] 545 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:524:25
[INFO] [stdout]     |
[INFO] [stdout] 524 |                     let mut ctx =
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 |                     let mut ctx =
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:554:25
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     let mut ctx = BTreeCtx::new_ord(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:568:25
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     let mut ctx = SetCtx::new_ord(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:593:25
[INFO] [stdout]     |
[INFO] [stdout] 593 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:611:25
[INFO] [stdout]     |
[INFO] [stdout] 611 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:671:25
[INFO] [stdout]     |
[INFO] [stdout] 671 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:689:25
[INFO] [stdout]     |
[INFO] [stdout] 689 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hicollections` (bench "tree_benchmark") due to 13 previous errors; 17 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "ba4111220ca28226afcafe6f31dff807ec081ee312e88b22c4e1d02e0124ba6b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba4111220ca28226afcafe6f31dff807ec081ee312e88b22c4e1d02e0124ba6b", kill_on_drop: false }`
[INFO] [stdout] ba4111220ca28226afcafe6f31dff807ec081ee312e88b22c4e1d02e0124ba6b
[INFO] checking hicollections-0.1.0 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate hicollections 0.1.0 into /workspace/builds/worker-7-tc2/source
[INFO] validating manifest of crates.io crate hicollections 0.1.0 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate hicollections 0.1.0
[INFO] finished tweaking crates.io crate hicollections 0.1.0
[INFO] tweaked toml for crates.io crate hicollections 0.1.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8cb27efbc150920a1a07a745ec7015ca97443b0b6cbf01ffc6e80246d053911f
[INFO] running `Command { std: "docker" "start" "-a" "8cb27efbc150920a1a07a745ec7015ca97443b0b6cbf01ffc6e80246d053911f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8cb27efbc150920a1a07a745ec7015ca97443b0b6cbf01ffc6e80246d053911f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8cb27efbc150920a1a07a745ec7015ca97443b0b6cbf01ffc6e80246d053911f", kill_on_drop: false }`
[INFO] [stdout] 8cb27efbc150920a1a07a745ec7015ca97443b0b6cbf01ffc6e80246d053911f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 433882dbca508a31e79d6cb958ff894ad6dccb95fc597fec2bcf9d27eac268bf
[INFO] running `Command { std: "docker" "start" "-a" "433882dbca508a31e79d6cb958ff894ad6dccb95fc597fec2bcf9d27eac268bf", kill_on_drop: false }`
[INFO] [stderr]     Checking getrandom v0.2.12
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking regex-syntax v0.8.3
[INFO] [stderr]     Checking hierr v0.1.1
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]     Checking csv-core v0.1.11
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking half v1.8.3
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking iai v0.1.1
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking hipool v0.1.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking csv v1.3.0
[INFO] [stderr]     Checking criterion-plot v0.4.5
[INFO] [stderr]     Checking serde_cbor v0.11.2
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking hicollections v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]   --> src/rbtree.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]   --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Ord` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/node.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/map.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/set.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stdout] warning: 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking regex-automata v0.4.6
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking regex v1.10.4
[INFO] [stderr]     Checking criterion v0.3.6
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/search.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> benches/search.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::ptr`
[INFO] [stdout]  --> benches/search.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use core::ptr;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `black_box`
[INFO] [stdout]  --> benches/tree_benchmark.rs:1:17
[INFO] [stdout]   |
[INFO] [stdout] 1 | use criterion::{black_box, criterion_group, criterion_main, BatchSize, BenchmarkId, Criterion};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]  --> benches/tree_benchmark.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use rand;
[INFO] [stdout]   |     ^^^^ the item `rand` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialEq` is imported redundantly
[INFO] [stdout]  --> benches/tree_benchmark.rs:7:26
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]   |                          ^^^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialOrd` is imported redundantly
[INFO] [stdout]  --> benches/tree_benchmark.rs:7:37
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]   |                                     ^^^^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:125:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `PartialOrd` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `size_of`
[INFO] [stdout]  --> benches/tree_benchmark.rs:9:29
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::mem::{MaybeUninit, size_of};
[INFO] [stdout]   |                             ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NonNull`
[INFO] [stdout]   --> benches/tree_benchmark.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::ptr::{self, NonNull};
[INFO] [stdout]    |                      ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::slice`
[INFO] [stdout]   --> benches/tree_benchmark.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::slice;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> benches/tree_benchmark.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | fn std_binary<K>(mut pkey: *const K, len: usize, key: &K) -> Result<usize, usize>
[INFO] [stdout]    |                  ----^^^^
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:18:23
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn slice_linear<K, Q>(mut pkey: *const K, len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | fn idx_linear<K, Q>(mut pkey: *const K, len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:57:23
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn slice_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                       ----^^^^
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> benches/search.rs:81:21
[INFO] [stdout]    |
[INFO] [stdout] 81 | fn idx_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]    |                     ----^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/search.rs:124:21
[INFO] [stdout]     |
[INFO] [stdout] 124 | fn ptr_binary<K, Q>(mut pkey: *const K, mut len: usize, key: &Q) -> Result<usize, usize>
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]   --> src/rbtree.rs:68:17
[INFO] [stdout]    |
[INFO] [stdout] 68 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]    |                 ^^^
[INFO] [stdout]   --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout]    = note: the item `Ord` is already defined here
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]     --> src/rbtree.rs:1037:9
[INFO] [stdout]      |
[INFO] [stdout] 1037 |     use rand;
[INFO] [stdout]      |         ^^^^ the item `rand` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialEq` is imported redundantly
[INFO] [stdout]     --> src/rbtree.rs:1039:30
[INFO] [stdout]      |
[INFO] [stdout] 1039 |     use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]      |                              ^^^^^^^^^
[INFO] [stdout]     --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]      |
[INFO] [stdout]      = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialOrd` is imported redundantly
[INFO] [stdout]     --> src/rbtree.rs:1039:41
[INFO] [stdout]      |
[INFO] [stdout] 1039 |     use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]      |                                         ^^^^^^^^^^
[INFO] [stdout]     --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]      |
[INFO] [stdout]      = note: the item `PartialOrd` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `rand` is imported redundantly
[INFO] [stdout]     --> src/avltree.rs:1110:9
[INFO] [stdout]      |
[INFO] [stdout] 1110 |     use rand;
[INFO] [stdout]      |         ^^^^ the item `rand` is already defined by prelude
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialEq` is imported redundantly
[INFO] [stdout]     --> src/avltree.rs:1112:30
[INFO] [stdout]      |
[INFO] [stdout] 1112 |     use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]      |                              ^^^^^^^^^
[INFO] [stdout]     --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]      |
[INFO] [stdout]      = note: the item `PartialEq` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `PartialOrd` is imported redundantly
[INFO] [stdout]     --> src/avltree.rs:1112:41
[INFO] [stdout]      |
[INFO] [stdout] 1112 |     use std::cmp::{Ordering, PartialEq, PartialOrd};
[INFO] [stdout]      |                                         ^^^^^^^^^^
[INFO] [stdout]     --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]      |
[INFO] [stdout]      = note: the item `PartialOrd` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/node.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/map.rs:3:17
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::{Ord, Ordering};
[INFO] [stdout]   |                 ^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ord` is imported redundantly
[INFO] [stdout]  --> src/btree/set.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use core::cmp::Ord;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/core/src/prelude/mod.rs:38:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `Ord` is already defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static is discouraged
[INFO] [stdout]    --> benches/tree_benchmark.rs:151:25
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let data = unsafe { &mut DATA };
[INFO] [stdout]     |                         ^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see issue #114447 <https://github.com/rust-lang/rust/issues/114447>
[INFO] [stdout]     = note: this will be a hard error in the 2024 edition
[INFO] [stdout]     = note: this mutable reference has lifetime `'static`, but if the static gets accessed (read or written) by any other means, or any other reference is created, then any further use of this mutable reference is Undefined Behavior
[INFO] [stdout]     = note: `#[warn(static_mut_refs)]` on by default
[INFO] [stdout] help: use `addr_of_mut!` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 151 |     let data = unsafe { addr_of_mut!(DATA) };
[INFO] [stdout]     |                         ~~~~~~~~~~~~~~~~~~
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> benches/search.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 |             f(self.data.as_ptr(), self.data.len(), &key);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]     = note: `#[warn(unused_must_use)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 191 |             let _ = f(self.data.as_ptr(), self.data.len(), &key);
[INFO] [stdout]     |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:311:25
[INFO] [stdout]     |
[INFO] [stdout] 311 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:325:25
[INFO] [stdout]     |
[INFO] [stdout] 325 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:306:25
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     let mut ctx = AvlCtx::new(cnts[i], |foo| unsafe { ptr::addr_of!((*foo).node) });
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:320:25
[INFO] [stdout]     |
[INFO] [stdout] 320 |                     let mut ctx = RbCtx::new(cnts[i], |foo| unsafe { ptr::addr_of!((*foo).node) });
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:334:25
[INFO] [stdout]     |
[INFO] [stdout] 334 |                     let mut ctx = BTreeCtx::new(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:349:25
[INFO] [stdout]     |
[INFO] [stdout] 349 |                     let mut ctx = SetCtx::new(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:373:25
[INFO] [stdout]     |
[INFO] [stdout] 373 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:390:25
[INFO] [stdout]     |
[INFO] [stdout] 390 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:450:25
[INFO] [stdout]     |
[INFO] [stdout] 450 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:467:25
[INFO] [stdout]     |
[INFO] [stdout] 467 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:530:25
[INFO] [stdout]     |
[INFO] [stdout] 530 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:545:25
[INFO] [stdout]     |
[INFO] [stdout] 545 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:524:25
[INFO] [stdout]     |
[INFO] [stdout] 524 |                     let mut ctx =
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:539:25
[INFO] [stdout]     |
[INFO] [stdout] 539 |                     let mut ctx =
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:554:25
[INFO] [stdout]     |
[INFO] [stdout] 554 |                     let mut ctx = BTreeCtx::new_ord(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> benches/tree_benchmark.rs:568:25
[INFO] [stdout]     |
[INFO] [stdout] 568 |                     let mut ctx = SetCtx::new_ord(cnts[i]);
[INFO] [stdout]     |                         ----^^^
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:593:25
[INFO] [stdout]     |
[INFO] [stdout] 593 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:611:25
[INFO] [stdout]     |
[INFO] [stdout] 611 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `AvlTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:671:25
[INFO] [stdout]     |
[INFO] [stdout] 671 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0133]: call to unsafe function `RbTree::<T>::insert` is unsafe and requires unsafe function or block
[INFO] [stdout]    --> benches/tree_benchmark.rs:689:25
[INFO] [stdout]     |
[INFO] [stdout] 689 |                         ctx.tree.insert(foo, false);
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function
[INFO] [stdout]     |
[INFO] [stdout]     = note: consult the function's documentation for information on how to avoid undefined behavior
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 12 previous errors; 17 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0133`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `hicollections` (bench "tree_benchmark") due to 13 previous errors; 17 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: 10 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "433882dbca508a31e79d6cb958ff894ad6dccb95fc597fec2bcf9d27eac268bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "433882dbca508a31e79d6cb958ff894ad6dccb95fc597fec2bcf9d27eac268bf", kill_on_drop: false }`
[INFO] [stdout] 433882dbca508a31e79d6cb958ff894ad6dccb95fc597fec2bcf9d27eac268bf
