[INFO] fetching crate skippy-rs 0.0.0-alpha.4...
[INFO] building skippy-rs-0.0.0-alpha.4 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate skippy-rs 0.0.0-alpha.4 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate skippy-rs 0.0.0-alpha.4
[INFO] finished tweaking crates.io crate skippy-rs 0.0.0-alpha.4
[INFO] tweaked toml for crates.io crate skippy-rs 0.0.0-alpha.4 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate skippy-rs 0.0.0-alpha.4 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 46 packages to latest compatible versions
[INFO] [stderr]       Adding rand v0.8.6 (available: v0.10.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 80d5d13880dc89e86f194c66966078c2a0c6ac8d746a840999fff11d983b12b2
[INFO] running `Command { std: "docker" "start" "-a" "80d5d13880dc89e86f194c66966078c2a0c6ac8d746a840999fff11d983b12b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "80d5d13880dc89e86f194c66966078c2a0c6ac8d746a840999fff11d983b12b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "80d5d13880dc89e86f194c66966078c2a0c6ac8d746a840999fff11d983b12b2", kill_on_drop: false }`
[INFO] [stdout] 80d5d13880dc89e86f194c66966078c2a0c6ac8d746a840999fff11d983b12b2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3513318f5600f566b7fdcb1af8f9f1036a96150b55c304e71d9e4ab87d1d07d5
[INFO] running `Command { std: "docker" "start" "-a" "3513318f5600f566b7fdcb1af8f9f1036a96150b55c304e71d9e4ab87d1d07d5", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling haphazard v0.1.8
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling skippy-rs v0.0.0-alpha.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/internal/utils/node.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |     use super::*;
[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 import: `Iterator`
[INFO] [stdout]  --> src/internal/sync/iter.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::iter::{FromIterator, IntoIterator, Iterator};
[INFO] [stdout]   |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `traverse_with` is never used
[INFO] [stdout]    --> src/internal/skiplist.rs:286:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | / impl<'domain, K, V> SkipList<'domain, K, V>
[INFO] [stdout]   9 | | where
[INFO] [stdout]  10 | |     K: Ord,
[INFO] [stdout]     | |___________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 286 |       fn traverse_with<F>(&self, mut f: F)
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag`, `try_tag`, and `as_hpz` are never used
[INFO] [stdout]    --> src/internal/sync/tagged.rs:74:19
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl<T> MaybeTagged<T> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(crate) fn tag(&self, tag: usize) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub(crate) fn try_tag(&self, expected: *mut T, tag: usize) -> Result<*mut T, *mut T> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub(crate) fn as_hpz(&self) -> &AtomicPtr<T> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `refs` is never used
[INFO] [stdout]    --> src/internal/utils/node.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl<K, V> Node<K, V> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub(crate) fn refs(&self) -> usize {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_inner` is never used
[INFO] [stdout]   --> src/internal/utils/padded.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Padded<T> {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn into_inner(self) -> T {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/collections/priority_queue.rs:37:37
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peek(&'a self) -> Option<&V> {
[INFO] [stdout]    |                  --                 ^^ the same lifetime is elided here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peek(&'a self) -> Option<&'a V> {
[INFO] [stdout]    |                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                           ------------------ this raw pointer has type `*mut Head<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (&(*self.head.as_ptr()).levels)[0].load_ptr() };
[INFO] [stdout]     |                                         ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                  ---- this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (&(*temp).levels)[0].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]   --> src/internal/skiplist.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*new_node).levels[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ^^--------^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]   --> src/internal/skiplist.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*new_node).levels[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (&(*new_node).levels)[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((*node).levels[i].load_ptr());
[INFO] [stdout]     |                                     ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((*node).levels[i].load_ptr());
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((&(*node).levels)[i].load_ptr());
[INFO] [stdout]     |                                     ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (&(*curr).levels)[level].load_ptr();
[INFO] [stdout]     |                    ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (*prev).levels[level].store_ptr(next);
[INFO] [stdout]     |         ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (*prev).levels[level].store_ptr(next);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (&(*prev).levels)[level].store_ptr(next);
[INFO] [stdout]     |         ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (*curr).levels[level - 1].load_ptr();
[INFO] [stdout]     |                                ^^----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (*curr).levels[level - 1].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (&(*curr).levels)[level - 1].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (*next).levels[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ^^----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (*next).levels[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (&(*next).levels)[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (&(*curr).levels)[level].load_ptr();
[INFO] [stdout]     |                    ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (*next).levels[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (*next).levels[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (&(*next).levels)[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:301:24
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (*curr).levels[0].load_ptr();
[INFO] [stdout]     |                        ^^----^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:301:24
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (*curr).levels[0].load_ptr();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (&(*curr).levels)[0].load_ptr();
[INFO] [stdout]     |                        ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                           ------------------ this raw pointer has type `*mut Head<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (&(*self.head.as_ptr()).levels)[0].load_ptr() };
[INFO] [stdout]     |                                         ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                  ---- this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (&(*temp).levels)[0].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/iter.rs:101:30
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (*next).levels[0].load_ptr() };
[INFO] [stdout]     |                              ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/sync/iter.rs:101:30
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (*next).levels[0].load_ptr() };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (&(*next).levels)[0].load_ptr() };
[INFO] [stdout]     |                              ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.95s
[INFO] running `Command { std: "docker" "inspect" "3513318f5600f566b7fdcb1af8f9f1036a96150b55c304e71d9e4ab87d1d07d5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3513318f5600f566b7fdcb1af8f9f1036a96150b55c304e71d9e4ab87d1d07d5", kill_on_drop: false }`
[INFO] [stdout] 3513318f5600f566b7fdcb1af8f9f1036a96150b55c304e71d9e4ab87d1d07d5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ba3a275b773c5a98355e80422d448277211bcae4fb3eb203bcf6248f7a0f2650
[INFO] running `Command { std: "docker" "start" "-a" "ba3a275b773c5a98355e80422d448277211bcae4fb3eb203bcf6248f7a0f2650", kill_on_drop: false }`
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/internal/utils/node.rs:276:9
[INFO] [stdout]     |
[INFO] [stdout] 276 |     use super::*;
[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 import: `Iterator`
[INFO] [stdout]  --> src/internal/sync/iter.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::iter::{FromIterator, IntoIterator, Iterator};
[INFO] [stdout]   |                                              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `traverse_with` is never used
[INFO] [stdout]    --> src/internal/skiplist.rs:286:8
[INFO] [stdout]     |
[INFO] [stdout]   8 | / impl<'domain, K, V> SkipList<'domain, K, V>
[INFO] [stdout]   9 | | where
[INFO] [stdout]  10 | |     K: Ord,
[INFO] [stdout]     | |___________- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 286 |       fn traverse_with<F>(&self, mut f: F)
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag`, `try_tag`, and `as_hpz` are never used
[INFO] [stdout]    --> src/internal/sync/tagged.rs:74:19
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl<T> MaybeTagged<T> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(crate) fn tag(&self, tag: usize) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub(crate) fn try_tag(&self, expected: *mut T, tag: usize) -> Result<*mut T, *mut T> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub(crate) fn as_hpz(&self) -> &AtomicPtr<T> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `refs` is never used
[INFO] [stdout]    --> src/internal/utils/node.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout]  75 | impl<K, V> Node<K, V> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     pub(crate) fn refs(&self) -> usize {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_inner` is never used
[INFO] [stdout]   --> src/internal/utils/padded.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Padded<T> {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn into_inner(self) -> T {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/collections/priority_queue.rs:37:37
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peek(&'a self) -> Option<&V> {
[INFO] [stdout]    |                  --                 ^^ the same lifetime is elided here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peek(&'a self) -> Option<&'a V> {
[INFO] [stdout]    |                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                           ------------------ this raw pointer has type `*mut Head<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (&(*self.head.as_ptr()).levels)[0].load_ptr() };
[INFO] [stdout]     |                                         ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                  ---- this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (&(*temp).levels)[0].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]   --> src/internal/skiplist.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*new_node).levels[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ^^--------^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]   --> src/internal/skiplist.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*new_node).levels[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (&(*new_node).levels)[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((*node).levels[i].load_ptr());
[INFO] [stdout]     |                                     ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((*node).levels[i].load_ptr());
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((&(*node).levels)[i].load_ptr());
[INFO] [stdout]     |                                     ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (&(*curr).levels)[level].load_ptr();
[INFO] [stdout]     |                    ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (*prev).levels[level].store_ptr(next);
[INFO] [stdout]     |         ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (*prev).levels[level].store_ptr(next);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (&(*prev).levels)[level].store_ptr(next);
[INFO] [stdout]     |         ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (*curr).levels[level - 1].load_ptr();
[INFO] [stdout]     |                                ^^----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (*curr).levels[level - 1].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (&(*curr).levels)[level - 1].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (*next).levels[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ^^----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (*next).levels[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (&(*next).levels)[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (&(*curr).levels)[level].load_ptr();
[INFO] [stdout]     |                    ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (*next).levels[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (*next).levels[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (&(*next).levels)[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:301:24
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (*curr).levels[0].load_ptr();
[INFO] [stdout]     |                        ^^----^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:301:24
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (*curr).levels[0].load_ptr();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (&(*curr).levels)[0].load_ptr();
[INFO] [stdout]     |                        ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                           ------------------ this raw pointer has type `*mut Head<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (&(*self.head.as_ptr()).levels)[0].load_ptr() };
[INFO] [stdout]     |                                         ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                  ---- this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (&(*temp).levels)[0].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/iter.rs:101:30
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (*next).levels[0].load_ptr() };
[INFO] [stdout]     |                              ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this raw pointer has type `*mut Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/sync/iter.rs:101:30
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (*next).levels[0].load_ptr() };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (&(*next).levels)[0].load_ptr() };
[INFO] [stdout]     |                              ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling crossbeam-skiplist v0.1.3
[INFO] [stderr]    Compiling skippy-rs v0.0.0-alpha.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Iterator`
[INFO] [stdout]  --> src/internal/sync/iter.rs:4:46
[INFO] [stdout]   |
[INFO] [stdout] 4 | use core::iter::{FromIterator, IntoIterator, Iterator};
[INFO] [stdout]   |                                              ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `tag`, `try_tag`, and `as_hpz` are never used
[INFO] [stdout]    --> src/internal/sync/tagged.rs:74:19
[INFO] [stdout]     |
[INFO] [stdout]   7 | impl<T> MaybeTagged<T> {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  74 |     pub(crate) fn tag(&self, tag: usize) {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub(crate) fn try_tag(&self, expected: *mut T, tag: usize) -> Result<*mut T, *mut T> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 113 |     pub(crate) fn as_hpz(&self) -> &AtomicPtr<T> {
[INFO] [stdout]     |                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_inner` is never used
[INFO] [stdout]   --> src/internal/utils/padded.rs:45:19
[INFO] [stdout]    |
[INFO] [stdout] 40 | impl<T> Padded<T> {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub(crate) fn into_inner(self) -> T {
[INFO] [stdout]    |                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]   --> src/collections/priority_queue.rs:37:37
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peek(&'a self) -> Option<&V> {
[INFO] [stdout]    |                  --                 ^^ the same lifetime is elided here
[INFO] [stdout]    |                  |
[INFO] [stdout]    |                  the lifetime is named here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub fn peek(&'a self) -> Option<&'a V> {
[INFO] [stdout]    |                                      ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                           ------------------ this raw pointer has type `*mut Head<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: `#[warn(dangerous_implicit_autorefs)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (&(*self.head.as_ptr()).levels)[0].load_ptr() };
[INFO] [stdout]     |                                         ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                  ---- this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/skiplist.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (&(*temp).levels)[0].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]   --> src/internal/skiplist.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*new_node).levels[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ^^--------^^^^^^^^^^^
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]   --> src/internal/skiplist.rs:57:17
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (*new_node).levels[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    |
[INFO] [stdout] 57 |                 (&(*new_node).levels)[i].store_ptr(levels[i].load_ptr());
[INFO] [stdout]    |                 ++                  +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((*node).levels[i].load_ptr());
[INFO] [stdout]     |                                     ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                       |
[INFO] [stdout]     |                                       this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:113:37
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((*node).levels[i].load_ptr());
[INFO] [stdout]     |                                     ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 113 |                 levels[i].store_ptr((&(*node).levels)[i].load_ptr());
[INFO] [stdout]     |                                     ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:123:20
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 123 |         let next = (&(*curr).levels)[level].load_ptr();
[INFO] [stdout]     |                    ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (*prev).levels[level].store_ptr(next);
[INFO] [stdout]     |         ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |           |
[INFO] [stdout]     |           this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:129:9
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (*prev).levels[level].store_ptr(next);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 129 |         (&(*prev).levels)[level].store_ptr(next);
[INFO] [stdout]     |         ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (*curr).levels[level - 1].load_ptr();
[INFO] [stdout]     |                                ^^----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (*curr).levels[level - 1].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 152 |                 let mut next = (&(*curr).levels)[level - 1].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (*next).levels[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ^^----^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:154:39
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (*next).levels[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 154 |                 if !next.is_null() && (&(*next).levels)[level - 1].load_tag() == 1 {
[INFO] [stdout]     |                                       ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^----^^^^^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:167:20
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (*curr).levels[level].load_ptr();
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 167 |         let next = (&(*curr).levels)[level].load_ptr();
[INFO] [stdout]     |                    ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (*next).levels[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:228:38
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (*next).levels[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 228 |             while !next.is_null() && (&(*next).levels)[0].load_tag() == 1 {
[INFO] [stdout]     |                                      ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/skiplist.rs:301:24
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (*curr).levels[0].load_ptr();
[INFO] [stdout]     |                        ^^----^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/skiplist.rs:301:24
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (*curr).levels[0].load_ptr();
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 301 |                 curr = (&(*curr).levels)[0].load_ptr();
[INFO] [stdout]     |                        ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                           ------------------ this raw pointer has type `*mut Head<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (*self.head.as_ptr()).levels[0].load_ptr() };
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:150:41
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 let mut node = unsafe { (&(*self.head.as_ptr()).levels)[0].load_ptr() };
[INFO] [stdout]     |                                         ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/utils/mod.rs:158:34
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                  ---- this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (*temp).levels[0].load_ptr();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/internal/sync/mod.rs:25:1
[INFO] [stdout]     |
[INFO] [stdout]  25 | skiplist_basics!(SkipList);
[INFO] [stdout]     | -------------------------- in this macro invocation
[INFO] [stdout]     = note: this warning originates in the macro `skiplist_basics` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]    --> src/internal/utils/mod.rs:158:32
[INFO] [stdout]     |
[INFO] [stdout] 158 |                         node = (&(*temp).levels)[0].load_ptr();
[INFO] [stdout]     |                                ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/iter.rs:101:30
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (*next).levels[0].load_ptr() };
[INFO] [stdout]     |                              ^^----^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this raw pointer has type `*mut node::Node<K, V>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<K, V>`
[INFO] [stdout]    --> src/internal/sync/iter.rs:101:30
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (*next).levels[0].load_ptr() };
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 101 |         self.next = unsafe { (&(*next).levels)[0].load_ptr() };
[INFO] [stdout]     |                              ++              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:944:38
[INFO] [stdout]     |
[INFO] [stdout] 944 |         let node_3 = unsafe { &mut (*(*list.head.as_ptr()).levels[0].load_ptr()) };
[INFO] [stdout]     |                                      ^^------------------^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this raw pointer has type `*mut Head<i32, ()>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<i32, ()>`
[INFO] [stdout]    --> src/internal/sync/mod.rs:944:38
[INFO] [stdout]     |
[INFO] [stdout] 944 |         let node_3 = unsafe { &mut (*(*list.head.as_ptr()).levels[0].load_ptr()) };
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 944 |         let node_3 = unsafe { &mut (*(&(*list.head.as_ptr()).levels)[0].load_ptr()) };
[INFO] [stdout]     |                                      ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:946:29
[INFO] [stdout]     |
[INFO] [stdout] 946 |             unsafe { &mut (*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()) };
[INFO] [stdout]     |                             ^^------------------------------------------^^^^^^^^^^^
[INFO] [stdout]     |                               |
[INFO] [stdout]     |                               this raw pointer has type `*mut node::Node<i32, ()>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<i32, ()>`
[INFO] [stdout]    --> src/internal/sync/mod.rs:946:29
[INFO] [stdout]     |
[INFO] [stdout] 946 |             unsafe { &mut (*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()) };
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 946 |             unsafe { &mut (*(&(*(*list.head.as_ptr()).levels[0].load_ptr()).levels)[0].load_ptr()) };
[INFO] [stdout]     |                             ++                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:946:31
[INFO] [stdout]     |
[INFO] [stdout] 946 |             unsafe { &mut (*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()) };
[INFO] [stdout]     |                               ^^------------------^^^^^^^^^^^
[INFO] [stdout]     |                                 |
[INFO] [stdout]     |                                 this raw pointer has type `*mut Head<i32, ()>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<i32, ()>`
[INFO] [stdout]    --> src/internal/sync/mod.rs:946:31
[INFO] [stdout]     |
[INFO] [stdout] 946 |             unsafe { &mut (*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()) };
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 946 |             unsafe { &mut (*(*(&(*list.head.as_ptr()).levels)[0].load_ptr()).levels[0].load_ptr()) };
[INFO] [stdout]     |                               ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:948:20
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()).levels[0]
[INFO] [stdout]     |                    ^^------------------------------------------------------------------^^^^^^^^^^^
[INFO] [stdout]     |                      |
[INFO] [stdout]     |                      this raw pointer has type `*mut node::Node<i32, ()>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<i32, ()>`
[INFO] [stdout]    --> src/internal/sync/mod.rs:948:20
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()).levels[0]
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(&(*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()).levels)[0]
[INFO] [stdout]     |                    ++                                                                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:948:22
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()).levels[0]
[INFO] [stdout]     |                      ^^------------------------------------------^^^^^^^^^^^
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        this raw pointer has type `*mut node::Node<i32, ()>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<i32, ()>`
[INFO] [stdout]    --> src/internal/sync/mod.rs:948:22
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()).levels[0]
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(*(&(*(*list.head.as_ptr()).levels[0].load_ptr()).levels)[0].load_ptr()).levels[0]
[INFO] [stdout]     |                      ++                                                    +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: implicit autoref creates a reference to the dereference of a raw pointer
[INFO] [stdout]    --> src/internal/sync/mod.rs:948:24
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()).levels[0]
[INFO] [stdout]     |                        ^^------------------^^^^^^^^^^^
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          this raw pointer has type `*mut Head<i32, ()>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: creating a reference requires the pointer target to be valid and imposes aliasing requirements
[INFO] [stdout] note: autoref is being applied to this expression, resulting in: `&Levels<i32, ()>`
[INFO] [stdout]    --> src/internal/sync/mod.rs:948:24
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(*(*(*list.head.as_ptr()).levels[0].load_ptr()).levels[0].load_ptr()).levels[0]
[INFO] [stdout]     |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: try using a raw pointer method instead; or if this reference is intentional, make it explicit
[INFO] [stdout]     |
[INFO] [stdout] 948 |             &mut (*(*(*(&(*list.head.as_ptr()).levels)[0].load_ptr()).levels[0].load_ptr()).levels[0]
[INFO] [stdout]     |                        ++                            +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.13s
[INFO] running `Command { std: "docker" "inspect" "ba3a275b773c5a98355e80422d448277211bcae4fb3eb203bcf6248f7a0f2650", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ba3a275b773c5a98355e80422d448277211bcae4fb3eb203bcf6248f7a0f2650", kill_on_drop: false }`
[INFO] [stdout] ba3a275b773c5a98355e80422d448277211bcae4fb3eb203bcf6248f7a0f2650
