[INFO] cloning repository https://github.com/akumansley/btree [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/akumansley/btree" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fakumansley%2Fbtree", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fakumansley%2Fbtree'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3a17ba157566386f81dfa2b304f97179f45e183f [INFO] checking akumansley/btree against master#e43d139a82620a268d3828a73e12a8679339e8f8 for pr-143545 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fakumansley%2Fbtree" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/akumansley/btree [INFO] finished tweaking git repo https://github.com/akumansley/btree [INFO] tweaked toml for git repo https://github.com/akumansley/btree written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/akumansley/btree on toolchain e43d139a82620a268d3828a73e12a8679339e8f8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e43d139a82620a268d3828a73e12a8679339e8f8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/akumansley/btree already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+e43d139a82620a268d3828a73e12a8679339e8f8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-1-tc1/source/btree/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded shuttle v0.8.0 [INFO] [stderr] Downloaded usync v0.2.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+e43d139a82620a268d3828a73e12a8679339e8f8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 27720fa520804b1bad8e574c5782c54ee1c3c60531037333e3158a97ed4853b5 [INFO] running `Command { std: "docker" "start" "-a" "27720fa520804b1bad8e574c5782c54ee1c3c60531037333e3158a97ed4853b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "27720fa520804b1bad8e574c5782c54ee1c3c60531037333e3158a97ed4853b5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27720fa520804b1bad8e574c5782c54ee1c3c60531037333e3158a97ed4853b5", kill_on_drop: false }` [INFO] [stdout] 27720fa520804b1bad8e574c5782c54ee1c3c60531037333e3158a97ed4853b5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+e43d139a82620a268d3828a73e12a8679339e8f8" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9c3e07c97087db9a60be73590aa905293d8139fbfa912f83654a169c289219f9 [INFO] running `Command { std: "docker" "start" "-a" "9c3e07c97087db9a60be73590aa905293d8139fbfa912f83654a169c289219f9", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/btree/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] Compiling libc v0.2.171 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling proc-macro2 v1.0.94 [INFO] [stderr] Compiling zerocopy v0.8.24 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling rustversion v1.0.20 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking once_cell v1.21.3 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling radium v0.7.0 [INFO] [stderr] Compiling getrandom v0.3.2 [INFO] [stderr] Checking tap v1.0.1 [INFO] [stderr] Checking pin-project-lite v0.2.16 [INFO] [stderr] Checking log v0.4.27 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Checking wyz v0.5.1 [INFO] [stderr] Checking funty v2.0.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking smallvec v1.15.0 [INFO] [stderr] Checking tracing-core v0.1.33 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking assoc v0.1.3 [INFO] [stderr] Checking ryu v1.0.20 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking owo-colors v3.5.0 [INFO] [stderr] Checking itoa v1.0.15 [INFO] [stderr] Checking half v2.5.0 [INFO] [stderr] Checking clap_lex v0.7.4 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking tracing v0.1.41 [INFO] [stderr] Compiling usync v0.2.1 [INFO] [stderr] Checking anstyle v1.0.10 [INFO] [stderr] Checking bitvec v1.0.1 [INFO] [stderr] Checking ciborium-io v0.2.2 [INFO] [stderr] Checking regex-syntax v0.8.5 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking plotters-backend v0.3.7 [INFO] [stderr] Checking itertools v0.10.5 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking clap_builder v4.5.35 [INFO] [stderr] Checking cast v0.3.0 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking plotters-svg v0.3.7 [INFO] [stderr] Compiling syn v2.0.100 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Compiling generator v0.8.4 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking anes v0.1.6 [INFO] [stderr] Checking oorandom v11.1.5 [INFO] [stderr] Checking crossbeam-deque v0.8.6 [INFO] [stderr] Checking criterion-plot v0.5.0 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking is-terminal v0.4.16 [INFO] [stderr] Checking rand_core v0.9.3 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking clap v4.5.35 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking rand_pcg v0.3.1 [INFO] [stderr] Checking btree-macros v0.1.0 (/opt/rustwide/workdir/btree-macros) [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand_chacha v0.9.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking rand v0.9.0 [INFO] [stderr] Checking shuttle v0.8.0 [INFO] [stderr] Checking qsbr v0.1.0 (/opt/rustwide/workdir/qsbr) [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> qsbr/src/lib.rs:283:18 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn guard(&self) -> QsbrGuard { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 283 | pub fn guard(&self) -> QsbrGuard<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> qsbr/src/lib.rs:283:18 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn guard(&self) -> QsbrGuard { [INFO] [stdout] | ^^^^^ --------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 283 | pub fn guard(&self) -> QsbrGuard<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking btree v0.1.0 (/opt/rustwide/workdir/btree) [INFO] [stderr] Checking criterion v0.5.1 [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:184:22 [INFO] [stdout] | [INFO] [stdout] 184 | let array = &*(ptr as *const ArcArray); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | unsafe fn deref_arc<'a>(ptr: *mut ()) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:194:26 [INFO] [stdout] | [INFO] [stdout] 194 | let array = &mut *(ptr as *mut ArcArray); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | unsafe fn deref_mut_arc<'a>(ptr: *mut ()) -> &'a mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 204 | let len = (*(ptr as *mut ArcArray)).len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | unsafe fn drop_arc(ptr: *mut ()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | alloc::dealloc(ptr as *mut u8, layout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:259:22 [INFO] [stdout] | [INFO] [stdout] 259 | let array = &*(ptr as *const ArcArray); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | unsafe fn deref_arc<'a>(ptr: *mut ()) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:264:26 [INFO] [stdout] | [INFO] [stdout] 264 | let array = &mut *(ptr as *mut ArcArray); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | unsafe fn deref_mut_arc<'a>(ptr: *mut ()) -> &'a mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:269:19 [INFO] [stdout] | [INFO] [stdout] 269 | let len = (*(ptr as *mut ArcArray)).len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | unsafe fn drop_arc(ptr: *mut ()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 271 | alloc::dealloc(ptr as *mut u8, layout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::arc::Arcable::drop_arc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:389:13 [INFO] [stdout] | [INFO] [stdout] 389 | T::drop_arc(ptr.as_ptr()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 385 | pub unsafe fn drop_immediately(thin_arc: OwnedThinArc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::arc::OwnedThinArc::::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:445:9 [INFO] [stdout] | [INFO] [stdout] 445 | OwnedThinArc::from_ptr(self.into_ptr()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:444:5 [INFO] [stdout] | [INFO] [stdout] 444 | pub unsafe fn assume_init(self) -> OwnedThinArc<[T]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::atomic::Pointable::deref` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let value = T::deref(ptr).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | unsafe fn clone(ptr: *mut ()) -> *mut () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:135:22 [INFO] [stdout] | [INFO] [stdout] 135 | let array = &*(ptr as *const Array); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | unsafe fn deref<'a>(ptr: *mut ()) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | slice::from_raw_parts(array.elements.as_ptr() as *const _, array.len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | let array = &mut *(ptr as *mut Array); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | unsafe fn deref_mut<'a>(ptr: *mut ()) -> &'a mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | slice::from_raw_parts_mut(array.elements.as_mut_ptr() as *mut _, array.len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:145:19 [INFO] [stdout] | [INFO] [stdout] 145 | let len = (*(ptr as *mut Array)).len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | unsafe fn drop(ptr: *mut ()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | alloc::dealloc(ptr as *mut u8, layout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::atomic::Pointable::deref` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | let slice = <[T] as Pointable>::deref(ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | unsafe fn clone(ptr: *mut ()) -> *mut () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:181:22 [INFO] [stdout] | [INFO] [stdout] 181 | let array = &*(ptr as *const Array); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | unsafe fn deref<'a>(ptr: *mut ()) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:191:26 [INFO] [stdout] | [INFO] [stdout] 191 | let array = &mut *(ptr as *mut Array); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | unsafe fn deref_mut<'a>(ptr: *mut ()) -> &'a mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:201:19 [INFO] [stdout] | [INFO] [stdout] 201 | let len = (*(ptr as *mut Array)).len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe fn drop(ptr: *mut ()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | alloc::dealloc(ptr as *mut u8, layout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::atomic::Pointable::deref` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | let s = ::deref(ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | unsafe fn clone(ptr: *mut ()) -> *mut () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::atomic::OwnedThinPtr::::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:484:18 [INFO] [stdout] | [INFO] [stdout] 484 | Some(OwnedThinPtr::from_ptr(ptr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | pub unsafe fn into_owned(&self, order: Ordering) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RangeBTreeIterator` is never constructed [INFO] [stdout] --> btree/src/iter.rs:96:12 [INFO] [stdout] | [INFO] [stdout] 96 | pub struct RangeBTreeIterator<'a, K: BTreeKey, V: BTreeValue, D: IterDirection> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:163:26 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_or_insert(&self, key: OwnedThinArc, value: OwnedThinPtr) -> CursorMut { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_or_insert(&self, key: OwnedThinArc, value: OwnedThinPtr) -> CursorMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn iter(&self) -> ForwardBTreeIterator { [INFO] [stdout] | ^^^^^ -------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 346 | pub fn iter(&self) -> ForwardBTreeIterator<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:350:21 [INFO] [stdout] | [INFO] [stdout] 350 | pub fn iter_rev(&self) -> BackwardBTreeIterator { [INFO] [stdout] | ^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 350 | pub fn iter_rev(&self) -> BackwardBTreeIterator<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:354:19 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn cursor(&self) -> Cursor { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 354 | pub fn cursor(&self) -> Cursor<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:362:23 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn cursor_mut(&self) -> CursorMut { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 362 | pub fn cursor_mut(&self) -> CursorMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:184:22 [INFO] [stdout] | [INFO] [stdout] 184 | let array = &*(ptr as *const ArcArray); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:183:5 [INFO] [stdout] | [INFO] [stdout] 183 | unsafe fn deref_arc<'a>(ptr: *mut ()) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(unsafe_op_in_unsafe_fn)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:194:26 [INFO] [stdout] | [INFO] [stdout] 194 | let array = &mut *(ptr as *mut ArcArray); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 193 | unsafe fn deref_mut_arc<'a>(ptr: *mut ()) -> &'a mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 204 | let len = (*(ptr as *mut ArcArray)).len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:203:5 [INFO] [stdout] | [INFO] [stdout] 203 | unsafe fn drop_arc(ptr: *mut ()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:206:9 [INFO] [stdout] | [INFO] [stdout] 206 | alloc::dealloc(ptr as *mut u8, layout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:259:22 [INFO] [stdout] | [INFO] [stdout] 259 | let array = &*(ptr as *const ArcArray); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:258:5 [INFO] [stdout] | [INFO] [stdout] 258 | unsafe fn deref_arc<'a>(ptr: *mut ()) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:264:26 [INFO] [stdout] | [INFO] [stdout] 264 | let array = &mut *(ptr as *mut ArcArray); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:263:5 [INFO] [stdout] | [INFO] [stdout] 263 | unsafe fn deref_mut_arc<'a>(ptr: *mut ()) -> &'a mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:269:19 [INFO] [stdout] | [INFO] [stdout] 269 | let len = (*(ptr as *mut ArcArray)).len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:268:5 [INFO] [stdout] | [INFO] [stdout] 268 | unsafe fn drop_arc(ptr: *mut ()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:271:9 [INFO] [stdout] | [INFO] [stdout] 271 | alloc::dealloc(ptr as *mut u8, layout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::arc::Arcable::drop_arc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:389:13 [INFO] [stdout] | [INFO] [stdout] 389 | T::drop_arc(ptr.as_ptr()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:385:5 [INFO] [stdout] | [INFO] [stdout] 385 | pub unsafe fn drop_immediately(thin_arc: OwnedThinArc) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::arc::OwnedThinArc::::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/arc.rs:445:9 [INFO] [stdout] | [INFO] [stdout] 445 | OwnedThinArc::from_ptr(self.into_ptr()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/arc.rs:444:5 [INFO] [stdout] | [INFO] [stdout] 444 | pub unsafe fn assume_init(self) -> OwnedThinArc<[T]> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::atomic::Pointable::deref` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:62:21 [INFO] [stdout] | [INFO] [stdout] 62 | let value = T::deref(ptr).clone(); [INFO] [stdout] | ^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 61 | unsafe fn clone(ptr: *mut ()) -> *mut () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:135:22 [INFO] [stdout] | [INFO] [stdout] 135 | let array = &*(ptr as *const Array); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:134:5 [INFO] [stdout] | [INFO] [stdout] 134 | unsafe fn deref<'a>(ptr: *mut ()) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | slice::from_raw_parts(array.elements.as_ptr() as *const _, array.len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:140:26 [INFO] [stdout] | [INFO] [stdout] 140 | let array = &mut *(ptr as *mut Array); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | unsafe fn deref_mut<'a>(ptr: *mut ()) -> &'a mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::slice::from_raw_parts_mut` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:141:9 [INFO] [stdout] | [INFO] [stdout] 141 | slice::from_raw_parts_mut(array.elements.as_mut_ptr() as *mut _, array.len) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:145:19 [INFO] [stdout] | [INFO] [stdout] 145 | let len = (*(ptr as *mut Array)).len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:144:5 [INFO] [stdout] | [INFO] [stdout] 144 | unsafe fn drop(ptr: *mut ()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | alloc::dealloc(ptr as *mut u8, layout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::atomic::Pointable::deref` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:156:21 [INFO] [stdout] | [INFO] [stdout] 156 | let slice = <[T] as Pointable>::deref(ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | unsafe fn clone(ptr: *mut ()) -> *mut () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:181:22 [INFO] [stdout] | [INFO] [stdout] 181 | let array = &*(ptr as *const Array); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 180 | unsafe fn deref<'a>(ptr: *mut ()) -> &'a Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:191:26 [INFO] [stdout] | [INFO] [stdout] 191 | let array = &mut *(ptr as *mut Array); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:190:5 [INFO] [stdout] | [INFO] [stdout] 190 | unsafe fn deref_mut<'a>(ptr: *mut ()) -> &'a mut Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: dereference of raw pointer is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:201:19 [INFO] [stdout] | [INFO] [stdout] 201 | let len = (*(ptr as *mut Array)).len; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ dereference of raw pointer [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: raw pointers may be null, dangling or unaligned; they can violate aliasing rules and cause data races: all of these are undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:200:5 [INFO] [stdout] | [INFO] [stdout] 200 | unsafe fn drop(ptr: *mut ()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `std::alloc::dealloc` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:203:9 [INFO] [stdout] | [INFO] [stdout] 203 | alloc::dealloc(ptr as *mut u8, layout); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::atomic::Pointable::deref` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:209:17 [INFO] [stdout] | [INFO] [stdout] 209 | let s = ::deref(ptr); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | unsafe fn clone(ptr: *mut ()) -> *mut () { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning[E0133]: call to unsafe function `pointers::atomic::OwnedThinPtr::::from_ptr` is unsafe and requires unsafe block [INFO] [stdout] --> btree/src/pointers/atomic.rs:484:18 [INFO] [stdout] | [INFO] [stdout] 484 | Some(OwnedThinPtr::from_ptr(ptr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] note: an unsafe function restricts its caller, but its body is safe by default [INFO] [stdout] --> btree/src/pointers/atomic.rs:479:5 [INFO] [stdout] | [INFO] [stdout] 479 | pub unsafe fn into_owned(&self, order: Ordering) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:163:26 [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_or_insert(&self, key: OwnedThinArc, value: OwnedThinPtr) -> CursorMut { [INFO] [stdout] | ^^^^^ this lifetime flows to the output --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 163 | pub fn get_or_insert(&self, key: OwnedThinArc, value: OwnedThinPtr) -> CursorMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | pub fn iter(&self) -> ForwardBTreeIterator { [INFO] [stdout] | ^^^^^ -------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 346 | pub fn iter(&self) -> ForwardBTreeIterator<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:350:21 [INFO] [stdout] | [INFO] [stdout] 350 | pub fn iter_rev(&self) -> BackwardBTreeIterator { [INFO] [stdout] | ^^^^^ --------------------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 350 | pub fn iter_rev(&self) -> BackwardBTreeIterator<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:354:19 [INFO] [stdout] | [INFO] [stdout] 354 | pub fn cursor(&self) -> Cursor { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 354 | pub fn cursor(&self) -> Cursor<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> btree/src/tree.rs:362:23 [INFO] [stdout] | [INFO] [stdout] 362 | pub fn cursor_mut(&self) -> CursorMut { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 362 | pub fn cursor_mut(&self) -> CursorMut<'_, K, V> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.42s [INFO] running `Command { std: "docker" "inspect" "9c3e07c97087db9a60be73590aa905293d8139fbfa912f83654a169c289219f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9c3e07c97087db9a60be73590aa905293d8139fbfa912f83654a169c289219f9", kill_on_drop: false }` [INFO] [stdout] 9c3e07c97087db9a60be73590aa905293d8139fbfa912f83654a169c289219f9