[INFO] cloning repository https://github.com/frezcirno/mimalloc-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/frezcirno/mimalloc-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrezcirno%2Fmimalloc-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrezcirno%2Fmimalloc-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b5518d8f9da15859d13fff019124ff118f82b0e2 [INFO] checking frezcirno/mimalloc-rs against master#c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2 for pr-142712 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ffrezcirno%2Fmimalloc-rs" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/frezcirno/mimalloc-rs [INFO] finished tweaking git repo https://github.com/frezcirno/mimalloc-rs [INFO] tweaked toml for git repo https://github.com/frezcirno/mimalloc-rs written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/frezcirno/mimalloc-rs on toolchain c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/frezcirno/mimalloc-rs already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e89b24a0fa970aa0815dfaeca7a3ec29f93d479c933107a71daa44aaf62c3417 [INFO] running `Command { std: "docker" "start" "-a" "e89b24a0fa970aa0815dfaeca7a3ec29f93d479c933107a71daa44aaf62c3417", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e89b24a0fa970aa0815dfaeca7a3ec29f93d479c933107a71daa44aaf62c3417", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e89b24a0fa970aa0815dfaeca7a3ec29f93d479c933107a71daa44aaf62c3417", kill_on_drop: false }` [INFO] [stdout] e89b24a0fa970aa0815dfaeca7a3ec29f93d479c933107a71daa44aaf62c3417 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+c720f49c46ec3e70bbc2bbb3e0dd1fe7fc0a47f2" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ed8bc71538b2c02c8874b3bfb71a7d812e5fa705ca389e83dcd6af02622a04f4 [INFO] running `Command { std: "docker" "start" "-a" "ed8bc71538b2c02c8874b3bfb71a7d812e5fa705ca389e83dcd6af02622a04f4", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.92 [INFO] [stderr] Compiling unicode-ident v1.0.14 [INFO] [stderr] Compiling libc v0.2.164 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.89 [INFO] [stderr] Compiling ctor v0.2.9 [INFO] [stderr] Checking mimalloc_rs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `mi_assert_expensive` and `mi_assert` [INFO] [stdout] --> src/internal.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::types::{mi_assert, mi_assert_expensive, mi_assert_internal}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `mi_assert_expensive` and `mi_assert` [INFO] [stdout] --> src/internal.rs:7:20 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::types::{mi_assert, mi_assert_expensive, mi_assert_internal}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/internal.rs:231:36 [INFO] [stdout] | [INFO] [stdout] 231 | pub(crate) unsafe fn mi_block_next(page: *const MiPage, block: *const MiBlock) -> *const MiBlock { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/internal.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | page: *const MiPage, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiHeapArea` is never constructed [INFO] [stdout] --> src/lib.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | pub(crate) struct MiHeapArea { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MiBlockVisitFun` is never used [INFO] [stdout] --> src/lib.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | pub(crate) type MiBlockVisitFun = fn( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_malloc_small` is never used [INFO] [stdout] --> src/alloc.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | unsafe fn mi_malloc_small(size: usize) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_zalloc_small` is never used [INFO] [stdout] --> src/alloc.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | unsafe fn mi_zalloc_small(size: usize) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_zalloc` is never used [INFO] [stdout] --> src/alloc.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | pub unsafe fn mi_heap_zalloc(heap: *mut MiHeap, size: usize) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_zalloc` is never used [INFO] [stdout] --> src/alloc.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 89 | pub unsafe fn mi_zalloc(size: usize) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_usable_size` is never used [INFO] [stdout] --> src/alloc.rs:250:15 [INFO] [stdout] | [INFO] [stdout] 250 | pub unsafe fn mi_usable_size(p: *mut u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_collect` is never used [INFO] [stdout] --> src/heap.rs:195:11 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe fn mi_heap_collect(heap: *mut MiHeap, force: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_collect` is never used [INFO] [stdout] --> src/heap.rs:206:11 [INFO] [stdout] | [INFO] [stdout] 206 | unsafe fn mi_collect(force: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_get_default` is never used [INFO] [stdout] --> src/heap.rs:213:15 [INFO] [stdout] | [INFO] [stdout] 213 | pub(crate) fn mi_heap_get_default() -> *mut MiHeap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_get_backing` is never used [INFO] [stdout] --> src/heap.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn mi_heap_get_backing() -> *mut MiHeap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_new` is never used [INFO] [stdout] --> src/heap.rs:227:4 [INFO] [stdout] | [INFO] [stdout] 227 | fn mi_heap_new() -> *mut MiHeap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_reset_pages` is never used [INFO] [stdout] --> src/heap.rs:243:11 [INFO] [stdout] | [INFO] [stdout] 243 | unsafe fn mi_heap_reset_pages(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_free` is never used [INFO] [stdout] --> src/heap.rs:258:11 [INFO] [stdout] | [INFO] [stdout] 258 | unsafe fn mi_heap_free(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_destroy_pages` is never used [INFO] [stdout] --> src/heap.rs:313:11 [INFO] [stdout] | [INFO] [stdout] 313 | unsafe fn mi_heap_destroy_pages(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_destroy` is never used [INFO] [stdout] --> src/heap.rs:323:4 [INFO] [stdout] | [INFO] [stdout] 323 | fn mi_heap_destroy(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_absorb` is never used [INFO] [stdout] --> src/heap.rs:348:4 [INFO] [stdout] | [INFO] [stdout] 348 | fn mi_heap_absorb(heap: *mut MiHeap, from: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_delete` is never used [INFO] [stdout] --> src/heap.rs:384:4 [INFO] [stdout] | [INFO] [stdout] 384 | fn mi_heap_delete(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_of_block` is never used [INFO] [stdout] --> src/heap.rs:416:4 [INFO] [stdout] | [INFO] [stdout] 416 | fn mi_heap_of_block(p: *const MiBlock) -> *mut MiHeap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_contains_block` is never used [INFO] [stdout] --> src/heap.rs:426:4 [INFO] [stdout] | [INFO] [stdout] 426 | fn mi_heap_contains_block(heap: *mut MiHeap, p: *const MiBlock) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_page_check_owned` is never used [INFO] [stdout] --> src/heap.rs:434:4 [INFO] [stdout] | [INFO] [stdout] 434 | fn mi_heap_page_check_owned( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_check_owned` is never used [INFO] [stdout] --> src/heap.rs:455:4 [INFO] [stdout] | [INFO] [stdout] 455 | fn mi_heap_check_owned(heap: *mut MiHeap, p: *const MiBlock) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_check_owned` is never used [INFO] [stdout] --> src/heap.rs:475:4 [INFO] [stdout] | [INFO] [stdout] 475 | fn mi_check_owned(p: *const MiBlock) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiHeapAreaEx` is never constructed [INFO] [stdout] --> src/heap.rs:486:8 [INFO] [stdout] | [INFO] [stdout] 486 | struct MiHeapAreaEx { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_area_visit_blocks` is never used [INFO] [stdout] --> src/heap.rs:491:4 [INFO] [stdout] | [INFO] [stdout] 491 | fn mi_heap_area_visit_blocks( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MiHeapAreaVisitFun` is never used [INFO] [stdout] --> src/heap.rs:573:6 [INFO] [stdout] | [INFO] [stdout] 573 | type MiHeapAreaVisitFun = fn(heap: *mut MiHeap, area: *mut MiHeapAreaEx, arg: *mut u8) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_visit_areas_page` is never used [INFO] [stdout] --> src/heap.rs:575:4 [INFO] [stdout] | [INFO] [stdout] 575 | fn mi_heap_visit_areas_page( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_visit_areas` is never used [INFO] [stdout] --> src/heap.rs:605:4 [INFO] [stdout] | [INFO] [stdout] 605 | fn mi_heap_visit_areas(heap: *mut MiHeap, visitor: *mut MiHeapAreaVisitFun, arg: *mut u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiVisitBlocksArgs` is never constructed [INFO] [stdout] --> src/heap.rs:621:8 [INFO] [stdout] | [INFO] [stdout] 621 | struct MiVisitBlocksArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_area_visitor` is never used [INFO] [stdout] --> src/heap.rs:627:4 [INFO] [stdout] | [INFO] [stdout] 627 | fn mi_heap_area_visitor(heap: *mut MiHeap, xarea: *mut MiHeapAreaEx, arg: *mut u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_visit_blocks` is never used [INFO] [stdout] --> src/heap.rs:648:4 [INFO] [stdout] | [INFO] [stdout] 648 | fn mi_heap_visit_blocks( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_random_shuffle` is never used [INFO] [stdout] --> src/init.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | pub(crate) fn mi_random_shuffle(mut x: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_random_init` is never used [INFO] [stdout] --> src/init.rs:214:15 [INFO] [stdout] | [INFO] [stdout] 214 | pub(crate) fn mi_random_init(seed: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_is_default` is never used [INFO] [stdout] --> src/internal.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) fn mi_heap_is_default(heap: *const MiHeap) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_is_backing` is never used [INFO] [stdout] --> src/internal.rs:81:15 [INFO] [stdout] | [INFO] [stdout] 81 | pub(crate) fn mi_heap_is_backing(heap: *const MiHeap) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_get_free_small_page` is never used [INFO] [stdout] --> src/internal.rs:98:15 [INFO] [stdout] | [INFO] [stdout] 98 | pub(crate) fn mi_get_free_small_page(size: usize) -> *mut MiPage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_has_free` is never used [INFO] [stdout] --> src/internal.rs:172:22 [INFO] [stdout] | [INFO] [stdout] 172 | pub(crate) unsafe fn mi_page_has_free(page: *mut MiPage) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_all_used` is never used [INFO] [stdout] --> src/internal.rs:192:22 [INFO] [stdout] | [INFO] [stdout] 192 | pub(crate) unsafe fn mi_page_all_used(page: *mut MiPage) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_MAX_SLICE_SHIFT` is never used [INFO] [stdout] --> src/page.rs:348:7 [INFO] [stdout] | [INFO] [stdout] 348 | const MI_MAX_SLICE_SHIFT: usize = 6; // At most 64 slices [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_MAX_SLICES` is never used [INFO] [stdout] --> src/page.rs:349:7 [INFO] [stdout] | [INFO] [stdout] 349 | const MI_MAX_SLICES: usize = 1 << MI_MAX_SLICE_SHIFT; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_MIN_SLICES` is never used [INFO] [stdout] --> src/page.rs:350:7 [INFO] [stdout] | [INFO] [stdout] 350 | const MI_MIN_SLICES: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_register_deferred_free` is never used [INFO] [stdout] --> src/page.rs:548:22 [INFO] [stdout] | [INFO] [stdout] 548 | pub(crate) unsafe fn mi_register_deferred_free(fn_ptr: MiDeferredFreeFun) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_queue_is_special` is never used [INFO] [stdout] --> src/page_queue.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) fn mi_page_queue_is_special(pq: *const MiPageQueue) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_bin_size` is never used [INFO] [stdout] --> src/page_queue.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub(crate) fn mi_bin_size(bin: u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_good_size` is never used [INFO] [stdout] --> src/page_queue.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | pub(crate) fn mi_good_size(size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_queue_append` is never used [INFO] [stdout] --> src/page_queue.rs:269:22 [INFO] [stdout] | [INFO] [stdout] 269 | pub(crate) unsafe fn mi_page_queue_append( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_size` is never used [INFO] [stdout] --> src/segment.rs:405:11 [INFO] [stdout] | [INFO] [stdout] 405 | unsafe fn mi_page_size(page: *const MiPage) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_INTPTR_SIZE` is never used [INFO] [stdout] --> src/types.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) const MI_INTPTR_SIZE: usize = 1 << MI_INTPTR_SHIFT; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_LARGE_PAGES_PER_SEGMENT` is never used [INFO] [stdout] --> src/types.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) const MI_LARGE_PAGES_PER_SEGMENT: usize = MI_SEGMENT_SIZE / MI_LARGE_PAGE_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `store` is never used [INFO] [stdout] --> src/types.rs:167:19 [INFO] [stdout] | [INFO] [stdout] 133 | impl MiThreadFree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 167 | pub(crate) fn store(&self, value: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiStatCount` is never constructed [INFO] [stdout] --> src/types.rs:349:19 [INFO] [stdout] | [INFO] [stdout] 349 | pub(crate) struct MiStatCount { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiStatCounter` is never constructed [INFO] [stdout] --> src/types.rs:357:19 [INFO] [stdout] | [INFO] [stdout] 357 | pub(crate) struct MiStatCounter { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiStats` is never constructed [INFO] [stdout] --> src/types.rs:363:19 [INFO] [stdout] | [INFO] [stdout] 363 | pub(crate) struct MiStats { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/init.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe { MI_INIT![&MI_PAGE_EMPTY as *const MiPage as *mut MiPage; 130] } [INFO] [stdout] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 137 | pages_free_direct: MI_SMALL_PAGES_EMPTY!(), [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `MI_SMALL_PAGES_EMPTY` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/init.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe { MI_INIT![&MI_PAGE_EMPTY as *const MiPage as *mut MiPage; 130] } [INFO] [stdout] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 179 | pages_free_direct: MI_SMALL_PAGES_EMPTY!(), [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: this warning originates in the macro `MI_SMALL_PAGES_EMPTY` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:560:12 [INFO] [stdout] | [INFO] [stdout] 560 | while !ABANDONED [INFO] [stdout] | ____________^ [INFO] [stdout] 561 | | .compare_exchange( [INFO] [stdout] 562 | | segment, [INFO] [stdout] 563 | | (*segment).abandoned_next, [INFO] [stdout] 564 | | Ordering::Relaxed, [INFO] [stdout] 565 | | Ordering::SeqCst, [INFO] [stdout] 566 | | ) [INFO] [stdout] | |_________^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:569:37 [INFO] [stdout] | [INFO] [stdout] 569 | (*segment).abandoned_next = ABANDONED.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:571:5 [INFO] [stdout] | [INFO] [stdout] 571 | ABANDONED_COUNT.fetch_add(1, Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:594:18 [INFO] [stdout] | [INFO] [stdout] 594 | atmost = ABANDONED_COUNT.load(Ordering::Relaxed) + 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:596:18 [INFO] [stdout] | [INFO] [stdout] 596 | atmost = ABANDONED_COUNT.load(Ordering::Relaxed) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:605:27 [INFO] [stdout] | [INFO] [stdout] 605 | let mut segment = ABANDONED.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:607:17 [INFO] [stdout] | [INFO] [stdout] 607 | && !ABANDONED [INFO] [stdout] | _________________^ [INFO] [stdout] 608 | | .compare_exchange( [INFO] [stdout] 609 | | segment, [INFO] [stdout] 610 | | (*segment).abandoned_next, [INFO] [stdout] 611 | | Ordering::Relaxed, [INFO] [stdout] 612 | | Ordering::SeqCst, [INFO] [stdout] 613 | | ) [INFO] [stdout] | |_________________^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:616:23 [INFO] [stdout] | [INFO] [stdout] 616 | segment = ABANDONED.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:623:9 [INFO] [stdout] | [INFO] [stdout] 623 | ABANDONED_COUNT.fetch_sub(1, Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/internal.rs:231:36 [INFO] [stdout] | [INFO] [stdout] 231 | pub(crate) unsafe fn mi_block_next(page: *const MiPage, block: *const MiBlock) -> *const MiBlock { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `page` [INFO] [stdout] --> src/internal.rs:237:5 [INFO] [stdout] | [INFO] [stdout] 237 | page: *const MiPage, [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_page` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiHeapArea` is never constructed [INFO] [stdout] --> src/lib.rs:38:19 [INFO] [stdout] | [INFO] [stdout] 38 | pub(crate) struct MiHeapArea { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MiBlockVisitFun` is never used [INFO] [stdout] --> src/lib.rs:46:17 [INFO] [stdout] | [INFO] [stdout] 46 | pub(crate) type MiBlockVisitFun = fn( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_malloc_small` is never used [INFO] [stdout] --> src/alloc.rs:43:11 [INFO] [stdout] | [INFO] [stdout] 43 | unsafe fn mi_malloc_small(size: usize) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_zalloc_small` is never used [INFO] [stdout] --> src/alloc.rs:49:11 [INFO] [stdout] | [INFO] [stdout] 49 | unsafe fn mi_zalloc_small(size: usize) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_zalloc` is never used [INFO] [stdout] --> src/alloc.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 85 | pub unsafe fn mi_heap_zalloc(heap: *mut MiHeap, size: usize) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_zalloc` is never used [INFO] [stdout] --> src/alloc.rs:89:15 [INFO] [stdout] | [INFO] [stdout] 89 | pub unsafe fn mi_zalloc(size: usize) -> *mut u8 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_usable_size` is never used [INFO] [stdout] --> src/alloc.rs:250:15 [INFO] [stdout] | [INFO] [stdout] 250 | pub unsafe fn mi_usable_size(p: *mut u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_collect` is never used [INFO] [stdout] --> src/heap.rs:195:11 [INFO] [stdout] | [INFO] [stdout] 195 | unsafe fn mi_heap_collect(heap: *mut MiHeap, force: bool) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_collect` is never used [INFO] [stdout] --> src/heap.rs:206:11 [INFO] [stdout] | [INFO] [stdout] 206 | unsafe fn mi_collect(force: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_get_default` is never used [INFO] [stdout] --> src/heap.rs:213:15 [INFO] [stdout] | [INFO] [stdout] 213 | pub(crate) fn mi_heap_get_default() -> *mut MiHeap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_get_backing` is never used [INFO] [stdout] --> src/heap.rs:218:4 [INFO] [stdout] | [INFO] [stdout] 218 | fn mi_heap_get_backing() -> *mut MiHeap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_new` is never used [INFO] [stdout] --> src/heap.rs:227:4 [INFO] [stdout] | [INFO] [stdout] 227 | fn mi_heap_new() -> *mut MiHeap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_reset_pages` is never used [INFO] [stdout] --> src/heap.rs:243:11 [INFO] [stdout] | [INFO] [stdout] 243 | unsafe fn mi_heap_reset_pages(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_free` is never used [INFO] [stdout] --> src/heap.rs:258:11 [INFO] [stdout] | [INFO] [stdout] 258 | unsafe fn mi_heap_free(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_destroy_pages` is never used [INFO] [stdout] --> src/heap.rs:313:11 [INFO] [stdout] | [INFO] [stdout] 313 | unsafe fn mi_heap_destroy_pages(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_destroy` is never used [INFO] [stdout] --> src/heap.rs:323:4 [INFO] [stdout] | [INFO] [stdout] 323 | fn mi_heap_destroy(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_absorb` is never used [INFO] [stdout] --> src/heap.rs:348:4 [INFO] [stdout] | [INFO] [stdout] 348 | fn mi_heap_absorb(heap: *mut MiHeap, from: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_delete` is never used [INFO] [stdout] --> src/heap.rs:384:4 [INFO] [stdout] | [INFO] [stdout] 384 | fn mi_heap_delete(heap: *mut MiHeap) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_of_block` is never used [INFO] [stdout] --> src/heap.rs:416:4 [INFO] [stdout] | [INFO] [stdout] 416 | fn mi_heap_of_block(p: *const MiBlock) -> *mut MiHeap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_contains_block` is never used [INFO] [stdout] --> src/heap.rs:426:4 [INFO] [stdout] | [INFO] [stdout] 426 | fn mi_heap_contains_block(heap: *mut MiHeap, p: *const MiBlock) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_page_check_owned` is never used [INFO] [stdout] --> src/heap.rs:434:4 [INFO] [stdout] | [INFO] [stdout] 434 | fn mi_heap_page_check_owned( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_check_owned` is never used [INFO] [stdout] --> src/heap.rs:455:4 [INFO] [stdout] | [INFO] [stdout] 455 | fn mi_heap_check_owned(heap: *mut MiHeap, p: *const MiBlock) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_check_owned` is never used [INFO] [stdout] --> src/heap.rs:475:4 [INFO] [stdout] | [INFO] [stdout] 475 | fn mi_check_owned(p: *const MiBlock) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiHeapAreaEx` is never constructed [INFO] [stdout] --> src/heap.rs:486:8 [INFO] [stdout] | [INFO] [stdout] 486 | struct MiHeapAreaEx { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_area_visit_blocks` is never used [INFO] [stdout] --> src/heap.rs:491:4 [INFO] [stdout] | [INFO] [stdout] 491 | fn mi_heap_area_visit_blocks( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `MiHeapAreaVisitFun` is never used [INFO] [stdout] --> src/heap.rs:573:6 [INFO] [stdout] | [INFO] [stdout] 573 | type MiHeapAreaVisitFun = fn(heap: *mut MiHeap, area: *mut MiHeapAreaEx, arg: *mut u8) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_visit_areas_page` is never used [INFO] [stdout] --> src/heap.rs:575:4 [INFO] [stdout] | [INFO] [stdout] 575 | fn mi_heap_visit_areas_page( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_visit_areas` is never used [INFO] [stdout] --> src/heap.rs:605:4 [INFO] [stdout] | [INFO] [stdout] 605 | fn mi_heap_visit_areas(heap: *mut MiHeap, visitor: *mut MiHeapAreaVisitFun, arg: *mut u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiVisitBlocksArgs` is never constructed [INFO] [stdout] --> src/heap.rs:621:8 [INFO] [stdout] | [INFO] [stdout] 621 | struct MiVisitBlocksArgs { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_area_visitor` is never used [INFO] [stdout] --> src/heap.rs:627:4 [INFO] [stdout] | [INFO] [stdout] 627 | fn mi_heap_area_visitor(heap: *mut MiHeap, xarea: *mut MiHeapAreaEx, arg: *mut u8) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_visit_blocks` is never used [INFO] [stdout] --> src/heap.rs:648:4 [INFO] [stdout] | [INFO] [stdout] 648 | fn mi_heap_visit_blocks( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_random_shuffle` is never used [INFO] [stdout] --> src/init.rs:195:15 [INFO] [stdout] | [INFO] [stdout] 195 | pub(crate) fn mi_random_shuffle(mut x: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_random_init` is never used [INFO] [stdout] --> src/init.rs:214:15 [INFO] [stdout] | [INFO] [stdout] 214 | pub(crate) fn mi_random_init(seed: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_is_default` is never used [INFO] [stdout] --> src/internal.rs:76:15 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) fn mi_heap_is_default(heap: *const MiHeap) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_heap_is_backing` is never used [INFO] [stdout] --> src/internal.rs:81:15 [INFO] [stdout] | [INFO] [stdout] 81 | pub(crate) fn mi_heap_is_backing(heap: *const MiHeap) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_get_free_small_page` is never used [INFO] [stdout] --> src/internal.rs:98:15 [INFO] [stdout] | [INFO] [stdout] 98 | pub(crate) fn mi_get_free_small_page(size: usize) -> *mut MiPage { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_has_free` is never used [INFO] [stdout] --> src/internal.rs:172:22 [INFO] [stdout] | [INFO] [stdout] 172 | pub(crate) unsafe fn mi_page_has_free(page: *mut MiPage) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_all_used` is never used [INFO] [stdout] --> src/internal.rs:192:22 [INFO] [stdout] | [INFO] [stdout] 192 | pub(crate) unsafe fn mi_page_all_used(page: *mut MiPage) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_MAX_SLICE_SHIFT` is never used [INFO] [stdout] --> src/page.rs:348:7 [INFO] [stdout] | [INFO] [stdout] 348 | const MI_MAX_SLICE_SHIFT: usize = 6; // At most 64 slices [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_MAX_SLICES` is never used [INFO] [stdout] --> src/page.rs:349:7 [INFO] [stdout] | [INFO] [stdout] 349 | const MI_MAX_SLICES: usize = 1 << MI_MAX_SLICE_SHIFT; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_MIN_SLICES` is never used [INFO] [stdout] --> src/page.rs:350:7 [INFO] [stdout] | [INFO] [stdout] 350 | const MI_MIN_SLICES: usize = 2; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_register_deferred_free` is never used [INFO] [stdout] --> src/page.rs:548:22 [INFO] [stdout] | [INFO] [stdout] 548 | pub(crate) unsafe fn mi_register_deferred_free(fn_ptr: MiDeferredFreeFun) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_queue_is_special` is never used [INFO] [stdout] --> src/page_queue.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) fn mi_page_queue_is_special(pq: *const MiPageQueue) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_bin_size` is never used [INFO] [stdout] --> src/page_queue.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub(crate) fn mi_bin_size(bin: u8) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_good_size` is never used [INFO] [stdout] --> src/page_queue.rs:78:15 [INFO] [stdout] | [INFO] [stdout] 78 | pub(crate) fn mi_good_size(size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_queue_append` is never used [INFO] [stdout] --> src/page_queue.rs:269:22 [INFO] [stdout] | [INFO] [stdout] 269 | pub(crate) unsafe fn mi_page_queue_append( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mi_page_size` is never used [INFO] [stdout] --> src/segment.rs:405:11 [INFO] [stdout] | [INFO] [stdout] 405 | unsafe fn mi_page_size(page: *const MiPage) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_INTPTR_SIZE` is never used [INFO] [stdout] --> src/types.rs:23:18 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) const MI_INTPTR_SIZE: usize = 1 << MI_INTPTR_SHIFT; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MI_LARGE_PAGES_PER_SEGMENT` is never used [INFO] [stdout] --> src/types.rs:43:18 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) const MI_LARGE_PAGES_PER_SEGMENT: usize = MI_SEGMENT_SIZE / MI_LARGE_PAGE_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `store` is never used [INFO] [stdout] --> src/types.rs:167:19 [INFO] [stdout] | [INFO] [stdout] 133 | impl MiThreadFree { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 167 | pub(crate) fn store(&self, value: usize) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiStatCount` is never constructed [INFO] [stdout] --> src/types.rs:349:19 [INFO] [stdout] | [INFO] [stdout] 349 | pub(crate) struct MiStatCount { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiStatCounter` is never constructed [INFO] [stdout] --> src/types.rs:357:19 [INFO] [stdout] | [INFO] [stdout] 357 | pub(crate) struct MiStatCounter { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MiStats` is never constructed [INFO] [stdout] --> src/types.rs:363:19 [INFO] [stdout] | [INFO] [stdout] 363 | pub(crate) struct MiStats { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/init.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe { MI_INIT![&MI_PAGE_EMPTY as *const MiPage as *mut MiPage; 130] } [INFO] [stdout] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 137 | pages_free_direct: MI_SMALL_PAGES_EMPTY!(), [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: `#[warn(static_mut_refs)]` on by default [INFO] [stdout] = note: this warning originates in the macro `MI_SMALL_PAGES_EMPTY` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/init.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | unsafe { MI_INIT![&MI_PAGE_EMPTY as *const MiPage as *mut MiPage; 130] } [INFO] [stdout] | ^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] ... [INFO] [stdout] 179 | pages_free_direct: MI_SMALL_PAGES_EMPTY!(), [INFO] [stdout] | ----------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] = note: this warning originates in the macro `MI_SMALL_PAGES_EMPTY` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:560:12 [INFO] [stdout] | [INFO] [stdout] 560 | while !ABANDONED [INFO] [stdout] | ____________^ [INFO] [stdout] 561 | | .compare_exchange( [INFO] [stdout] 562 | | segment, [INFO] [stdout] 563 | | (*segment).abandoned_next, [INFO] [stdout] 564 | | Ordering::Relaxed, [INFO] [stdout] 565 | | Ordering::SeqCst, [INFO] [stdout] 566 | | ) [INFO] [stdout] | |_________^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:569:37 [INFO] [stdout] | [INFO] [stdout] 569 | (*segment).abandoned_next = ABANDONED.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:571:5 [INFO] [stdout] | [INFO] [stdout] 571 | ABANDONED_COUNT.fetch_add(1, Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:594:18 [INFO] [stdout] | [INFO] [stdout] 594 | atmost = ABANDONED_COUNT.load(Ordering::Relaxed) + 16; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:596:18 [INFO] [stdout] | [INFO] [stdout] 596 | atmost = ABANDONED_COUNT.load(Ordering::Relaxed) / 8; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:605:27 [INFO] [stdout] | [INFO] [stdout] 605 | let mut segment = ABANDONED.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:607:17 [INFO] [stdout] | [INFO] [stdout] 607 | && !ABANDONED [INFO] [stdout] | _________________^ [INFO] [stdout] 608 | | .compare_exchange( [INFO] [stdout] 609 | | segment, [INFO] [stdout] 610 | | (*segment).abandoned_next, [INFO] [stdout] 611 | | Ordering::Relaxed, [INFO] [stdout] 612 | | Ordering::SeqCst, [INFO] [stdout] 613 | | ) [INFO] [stdout] | |_________________^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:616:23 [INFO] [stdout] | [INFO] [stdout] 616 | segment = ABANDONED.load(Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: creating a shared reference to mutable static [INFO] [stdout] --> src/segment.rs:623:9 [INFO] [stdout] | [INFO] [stdout] 623 | ABANDONED_COUNT.fetch_sub(1, Ordering::Relaxed); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static [INFO] [stdout] | [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.85s [INFO] running `Command { std: "docker" "inspect" "ed8bc71538b2c02c8874b3bfb71a7d812e5fa705ca389e83dcd6af02622a04f4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ed8bc71538b2c02c8874b3bfb71a7d812e5fa705ca389e83dcd6af02622a04f4", kill_on_drop: false }` [INFO] [stdout] ed8bc71538b2c02c8874b3bfb71a7d812e5fa705ca389e83dcd6af02622a04f4