[INFO] fetching crate nut 0.1.1...
[INFO] checking nut-0.1.1 against master#30f74ff0dc4d66debc8b50724c446f817e5f75f4 for pr-121848-1
[INFO] extracting crate nut 0.1.1 into /workspace/builds/worker-0-tc1/source
[INFO] validating manifest of crates.io crate nut 0.1.1 on toolchain 30f74ff0dc4d66debc8b50724c446f817e5f75f4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nut 0.1.1
[INFO] finished tweaking crates.io crate nut 0.1.1
[INFO] tweaked toml for crates.io crate nut 0.1.1 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate crates.io crate nut 0.1.1 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" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded page_size v0.4.2
[INFO] [stderr]   Downloaded itertools v0.4.19
[INFO] [stderr]   Downloaded either v1.7.0
[INFO] [stderr]   Downloaded hexdump v0.1.1
[INFO] [stderr]   Downloaded unicode-width v0.1.9
[INFO] [stderr]   Downloaded poolcache v0.1.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ad33259abc5a6d65634b421b2f738691db76693be13618e930b7ebd514e60045
[INFO] running `Command { std: "docker" "start" "-a" "ad33259abc5a6d65634b421b2f738691db76693be13618e930b7ebd514e60045", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ad33259abc5a6d65634b421b2f738691db76693be13618e930b7ebd514e60045", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ad33259abc5a6d65634b421b2f738691db76693be13618e930b7ebd514e60045", kill_on_drop: false }`
[INFO] [stdout] ad33259abc5a6d65634b421b2f738691db76693be13618e930b7ebd514e60045
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+30f74ff0dc4d66debc8b50724c446f817e5f75f4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9e7b6907f4a61cc9b3f9b12ac0b28ad49f6a1d07224307058e922248a30969ac
[INFO] running `Command { std: "docker" "start" "-a" "9e7b6907f4a61cc9b3f9b12ac0b28ad49f6a1d07224307058e922248a30969ac", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking poolcache v0.1.1
[INFO] [stderr]     Checking either v1.7.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking hexdump v0.1.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking page_size v0.4.2
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking nut v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `ToOwned` is imported redundantly
[INFO] [stdout]  --> src/page/mod.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::borrow::{Borrow, BorrowMut, ToOwned};
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `ToOwned` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ToOwned` is imported redundantly
[INFO] [stdout]  --> src/page/mod.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::borrow::{Borrow, BorrowMut, ToOwned};
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout]  --> /rustc/30f74ff0dc4d66debc8b50724c446f817e5f75f4/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `ToOwned` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut p = self.page_in_buffer(&mut buf, i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut p = self.page_in_buffer(&mut buf, 2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut p = self.page_in_buffer(&mut buf, 3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut inode = &mut inodes[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:616:21
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 let mut elem = p.leaf_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:623:21
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let mut elem = p.branch_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut p = self.page_in_buffer(&mut buf, i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut p = self.page_in_buffer(&mut buf, 2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut p = self.page_in_buffer(&mut buf, 3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/bucket/cursor.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             &mut *((&*self.bucket) as *const Bucket as *mut Bucket)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:209:31
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let metap0 = unsafe { &*(&metabuf[0] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let metap1 = unsafe { &*(&metabuf[page_size] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             &mut *(self.branch_page_elements() as *const [BranchPageElement]
[INFO] [stdout] 192 | |                 as *mut [BranchPageElement])
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             &mut *(self.branch_page_element(index) as *const BranchPageElement
[INFO] [stdout] 209 | |                 as *mut BranchPageElement)
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             &mut *(self.leaf_page_elements() as *const [LeafPageElement]
[INFO] [stdout] 227 | |                 as *mut [LeafPageElement])
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             &mut *(self.leaf_page_element(index) as *const LeafPageElement as *mut LeafPageElement)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             &mut *(self.meta() as *const Meta as *mut Meta)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             &mut *(self.freelist() as *const [PGID] as *mut [PGID])
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nut` (lib) due to 10 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut inode = &mut inodes[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:616:21
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 let mut elem = p.leaf_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:623:21
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let mut elem = p.branch_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/page/tests.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut page = Page::from_buf_mut(&mut buf);
[INFO] [stdout]   |         ----^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/page/tests.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut page = Page::from_buf_mut(&mut buf);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/bucket/cursor.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             &mut *((&*self.bucket) as *const Bucket as *mut Bucket)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:209:31
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let metap0 = unsafe { &*(&metabuf[0] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let metap1 = unsafe { &*(&metabuf[page_size] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             &mut *(self.branch_page_elements() as *const [BranchPageElement]
[INFO] [stdout] 192 | |                 as *mut [BranchPageElement])
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             &mut *(self.branch_page_element(index) as *const BranchPageElement
[INFO] [stdout] 209 | |                 as *mut BranchPageElement)
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             &mut *(self.leaf_page_elements() as *const [LeafPageElement]
[INFO] [stdout] 227 | |                 as *mut [LeafPageElement])
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             &mut *(self.leaf_page_element(index) as *const LeafPageElement as *mut LeafPageElement)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             &mut *(self.meta() as *const Meta as *mut Meta)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             &mut *(self.freelist() as *const [PGID] as *mut [PGID])
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nut` (lib test) due to 10 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "9e7b6907f4a61cc9b3f9b12ac0b28ad49f6a1d07224307058e922248a30969ac", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e7b6907f4a61cc9b3f9b12ac0b28ad49f6a1d07224307058e922248a30969ac", kill_on_drop: false }`
[INFO] [stdout] 9e7b6907f4a61cc9b3f9b12ac0b28ad49f6a1d07224307058e922248a30969ac
[INFO] checking nut-0.1.1 against try#72eda894eb3548c7ba774079ce0afab42958d4ee for pr-121848-1
[INFO] extracting crate nut 0.1.1 into /workspace/builds/worker-0-tc2/source
[INFO] validating manifest of crates.io crate nut 0.1.1 on toolchain 72eda894eb3548c7ba774079ce0afab42958d4ee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate nut 0.1.1
[INFO] finished tweaking crates.io crate nut 0.1.1
[INFO] tweaked toml for crates.io crate nut 0.1.1 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate crates.io crate nut 0.1.1 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" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 5e4f68a7b709e15befa1b37604c7912cf544f325713e96ce67a80198ba19c7a1
[INFO] running `Command { std: "docker" "start" "-a" "5e4f68a7b709e15befa1b37604c7912cf544f325713e96ce67a80198ba19c7a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5e4f68a7b709e15befa1b37604c7912cf544f325713e96ce67a80198ba19c7a1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e4f68a7b709e15befa1b37604c7912cf544f325713e96ce67a80198ba19c7a1", kill_on_drop: false }`
[INFO] [stdout] 5e4f68a7b709e15befa1b37604c7912cf544f325713e96ce67a80198ba19c7a1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+72eda894eb3548c7ba774079ce0afab42958d4ee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 24fc9469dd5b1a48598cf0b6ddcd016210885dea72d2ea14cd57049e36fee705
[INFO] running `Command { std: "docker" "start" "-a" "24fc9469dd5b1a48598cf0b6ddcd016210885dea72d2ea14cd57049e36fee705", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling autocfg v0.1.8
[INFO] [stderr]     Checking rand_core v0.4.2
[INFO] [stderr]    Compiling lock_api v0.4.7
[INFO] [stderr]    Compiling parking_lot_core v0.9.3
[INFO] [stderr]    Compiling memoffset v0.5.6
[INFO] [stderr]     Checking unicode-width v0.1.9
[INFO] [stderr]     Checking scopeguard v1.1.0
[INFO] [stderr]     Checking smallvec v1.9.0
[INFO] [stderr]     Checking vec_map v0.8.2
[INFO] [stderr]     Checking strsim v0.8.0
[INFO] [stderr]     Checking arrayvec v0.5.2
[INFO] [stderr]     Checking itertools v0.4.19
[INFO] [stderr]     Checking poolcache v0.1.1
[INFO] [stderr]     Checking either v1.7.0
[INFO] [stderr]     Checking ansi_term v0.11.0
[INFO] [stderr]    Compiling rand_chacha v0.1.1
[INFO] [stderr]    Compiling rand_pcg v0.1.2
[INFO] [stderr]     Checking textwrap v0.11.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]     Checking rand_core v0.3.1
[INFO] [stderr]     Checking rand_jitter v0.1.4
[INFO] [stderr]     Checking rand_xorshift v0.1.1
[INFO] [stderr]     Checking rand_isaac v0.1.1
[INFO] [stderr]     Checking rand_hc v0.1.0
[INFO] [stderr]     Checking hexdump v0.1.1
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking fs2 v0.4.3
[INFO] [stderr]     Checking page_size v0.4.2
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking clap v2.34.0
[INFO] [stderr]     Checking parking_lot v0.12.1
[INFO] [stderr]     Checking nut v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the item `ToOwned` is imported redundantly
[INFO] [stdout]  --> src/page/mod.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::borrow::{Borrow, BorrowMut, ToOwned};
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `ToOwned` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `ToOwned` is imported redundantly
[INFO] [stdout]  --> src/page/mod.rs:6:38
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::borrow::{Borrow, BorrowMut, ToOwned};
[INFO] [stdout]   |                                      ^^^^^^^
[INFO] [stdout]  --> /rustc/72eda894eb3548c7ba774079ce0afab42958d4ee/library/std/src/prelude/mod.rs:115:13
[INFO] [stdout]   |
[INFO] [stdout]   = note: the item `ToOwned` is already defined here
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut p = self.page_in_buffer(&mut buf, i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut p = self.page_in_buffer(&mut buf, 2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut p = self.page_in_buffer(&mut buf, 3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut inode = &mut inodes[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:616:21
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 let mut elem = p.leaf_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:623:21
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let mut elem = p.branch_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:289:17
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let mut p = self.page_in_buffer(&mut buf, i);
[INFO] [stdout]     |                 ----^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:307:13
[INFO] [stdout]     |
[INFO] [stdout] 307 |         let mut p = self.page_in_buffer(&mut buf, 2);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/db/db.rs:311:13
[INFO] [stdout]     |
[INFO] [stdout] 311 |         let mut p = self.page_in_buffer(&mut buf, 3);
[INFO] [stdout]     |             ----^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/bucket/cursor.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             &mut *((&*self.bucket) as *const Bucket as *mut Bucket)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:209:31
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let metap0 = unsafe { &*(&metabuf[0] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let metap1 = unsafe { &*(&metabuf[page_size] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             &mut *(self.branch_page_elements() as *const [BranchPageElement]
[INFO] [stdout] 192 | |                 as *mut [BranchPageElement])
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             &mut *(self.branch_page_element(index) as *const BranchPageElement
[INFO] [stdout] 209 | |                 as *mut BranchPageElement)
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             &mut *(self.leaf_page_elements() as *const [LeafPageElement]
[INFO] [stdout] 227 | |                 as *mut [LeafPageElement])
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             &mut *(self.leaf_page_element(index) as *const LeafPageElement as *mut LeafPageElement)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             &mut *(self.meta() as *const Meta as *mut Meta)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             &mut *(self.freelist() as *const [PGID] as *mut [PGID])
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nut` (lib) due to 10 previous errors; 7 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:561:13
[INFO] [stdout]     |
[INFO] [stdout] 561 |         let mut inode = &mut inodes[index];
[INFO] [stdout]     |             ----^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:616:21
[INFO] [stdout]     |
[INFO] [stdout] 616 |                 let mut elem = p.leaf_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/node/node.rs:623:21
[INFO] [stdout]     |
[INFO] [stdout] 623 |                 let mut elem = p.branch_page_element_mut(i);
[INFO] [stdout]     |                     ----^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/page/tests.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut page = Page::from_buf_mut(&mut buf);
[INFO] [stdout]   |         ----^^^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/page/tests.rs:76:9
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let mut page = Page::from_buf_mut(&mut buf);
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]   --> src/bucket/cursor.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |             &mut *((&*self.bucket) as *const Bucket as *mut Bucket)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout]    = note: even for types with interior mutability, the only legal way to obtain a mutable pointer from a shared reference is through `UnsafeCell::get`
[INFO] [stdout]    = note: `#[deny(invalid_reference_casting)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:209:31
[INFO] [stdout]     |
[INFO] [stdout] 209 |         let metap0 = unsafe { &*(&metabuf[0] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting references to a bigger memory layout than the backing allocation is undefined behavior, even if the reference is unused
[INFO] [stdout]    --> src/db/db.rs:210:31
[INFO] [stdout]     |
[INFO] [stdout] 210 |         let metap1 = unsafe { &*(&metabuf[page_size] as *const u8 as *const Page) };
[INFO] [stdout]     |                               ^^^^------------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                   |
[INFO] [stdout]     |                                   backing allocation comes from here
[INFO] [stdout]     |
[INFO] [stdout]     = note: casting from `u8` (1 bytes) to `Page` (16 bytes)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:191:13
[INFO] [stdout]     |
[INFO] [stdout] 191 | /             &mut *(self.branch_page_elements() as *const [BranchPageElement]
[INFO] [stdout] 192 | |                 as *mut [BranchPageElement])
[INFO] [stdout]     | |____________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:208:13
[INFO] [stdout]     |
[INFO] [stdout] 208 | /             &mut *(self.branch_page_element(index) as *const BranchPageElement
[INFO] [stdout] 209 | |                 as *mut BranchPageElement)
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:226:13
[INFO] [stdout]     |
[INFO] [stdout] 226 | /             &mut *(self.leaf_page_elements() as *const [LeafPageElement]
[INFO] [stdout] 227 | |                 as *mut [LeafPageElement])
[INFO] [stdout]     | |__________________________________________^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:243:13
[INFO] [stdout]     |
[INFO] [stdout] 243 |             &mut *(self.leaf_page_element(index) as *const LeafPageElement as *mut LeafPageElement)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:259:13
[INFO] [stdout]     |
[INFO] [stdout] 259 |             &mut *(self.meta() as *const Meta as *mut Meta)
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: casting `&T` to `&mut T` is undefined behavior, even if the reference is unused, consider instead using an `UnsafeCell`
[INFO] [stdout]    --> src/page/mod.rs:275:13
[INFO] [stdout]     |
[INFO] [stdout] 275 |             &mut *(self.freelist() as *const [PGID] as *mut [PGID])
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, visit <https://doc.rust-lang.org/book/ch15-05-interior-mutability.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors; 9 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `nut` (lib test) due to 10 previous errors; 9 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "24fc9469dd5b1a48598cf0b6ddcd016210885dea72d2ea14cd57049e36fee705", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24fc9469dd5b1a48598cf0b6ddcd016210885dea72d2ea14cd57049e36fee705", kill_on_drop: false }`
[INFO] [stdout] 24fc9469dd5b1a48598cf0b6ddcd016210885dea72d2ea14cd57049e36fee705
