[INFO] cloning repository https://github.com/yuyuyuyurisuki/os_work
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yuyuyuyurisuki/os_work" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuyuyuyurisuki%2Fos_work", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuyuyuyurisuki%2Fos_work'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] fa824c66bd7d181832c344b40512c82236613881
[INFO] checking yuyuyuyurisuki/os_work against master#cf79d034aa3d8f396d407aafce6f1ccd818e710e for pr-155657
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyuyuyuyurisuki%2Fos_work" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/yuyuyuyurisuki/os_work
[INFO] finished tweaking git repo https://github.com/yuyuyuyurisuki/os_work
[INFO] tweaked toml for git repo https://github.com/yuyuyuyurisuki/os_work written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/yuyuyuyurisuki/os_work on toolchain cf79d034aa3d8f396d407aafce6f1ccd818e710e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+cf79d034aa3d8f396d407aafce6f1ccd818e710e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/yuyuyuyurisuki/os_work 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" "+cf79d034aa3d8f396d407aafce6f1ccd818e710e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded scanf v1.2.1
[INFO] [stderr]   Downloaded byte v0.2.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cf79d034aa3d8f396d407aafce6f1ccd818e710e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 47879f2101ca4d3551e9913177d0bffceb34ccaa7070939deed1e38fc68e9b3b
[INFO] running `Command { std: "docker" "start" "-a" "47879f2101ca4d3551e9913177d0bffceb34ccaa7070939deed1e38fc68e9b3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "47879f2101ca4d3551e9913177d0bffceb34ccaa7070939deed1e38fc68e9b3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "47879f2101ca4d3551e9913177d0bffceb34ccaa7070939deed1e38fc68e9b3b", kill_on_drop: false }`
[INFO] [stdout] 47879f2101ca4d3551e9913177d0bffceb34ccaa7070939deed1e38fc68e9b3b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+cf79d034aa3d8f396d407aafce6f1ccd818e710e" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dab53dc0546087a26f2aacafcc972c3a35d8b77744f43add3c1dd9761ee5fa5c
[INFO] running `Command { std: "docker" "start" "-a" "dab53dc0546087a26f2aacafcc972c3a35d8b77744f43add3c1dd9761ee5fa5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling unicode-ident v1.0.1
[INFO] [stderr]    Compiling memchr v2.5.0
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling anyhow v1.0.58
[INFO] [stderr]     Checking byte v0.2.6
[INFO] [stderr]     Checking nom v7.1.1
[INFO] [stderr]     Checking scanf v1.2.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]     Checking os_work v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]  --> src/bank.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread::{sleep, spawn};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/bank.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/byte.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 | num_impl!(usize, (mem::size_of::<usize>()));
[INFO] [stdout]    |                  ^                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 - num_impl!(usize, (mem::size_of::<usize>()));
[INFO] [stdout] 57 + num_impl!(usize, mem::size_of::<usize>() );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/byte.rs:34:32
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 check_len(buf, $size)?;
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/byte.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 Ok($size)
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/byte.rs:41:32
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 check_len(buf, $size)?;
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/byte.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 | num_impl!(isize, (mem::size_of::<isize>()));
[INFO] [stdout]    |                  ^                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 - num_impl!(isize, (mem::size_of::<isize>()));
[INFO] [stdout] 58 + num_impl!(isize, mem::size_of::<isize>() );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `btree::BTree`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use btree::BTree;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/main.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::stdin`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::stdin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::BufReader`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::io::BufReader;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::spawn`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::thread::spawn;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Instant`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use std::time::Instant;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `sleep`
[INFO] [stdout]  --> src/bank.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::thread::{sleep, spawn};
[INFO] [stdout]   |                   ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/bank.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/byte.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 57 | num_impl!(usize, (mem::size_of::<usize>()));
[INFO] [stdout]    |                  ^                       ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 57 - num_impl!(usize, (mem::size_of::<usize>()));
[INFO] [stdout] 57 + num_impl!(usize, mem::size_of::<usize>() );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/byte.rs:34:32
[INFO] [stdout]    |
[INFO] [stdout] 34 |                 check_len(buf, $size)?;
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/byte.rs:36:20
[INFO] [stdout]    |
[INFO] [stdout] 36 |                 Ok($size)
[INFO] [stdout]    |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around function argument
[INFO] [stdout]   --> src/byte.rs:41:32
[INFO] [stdout]    |
[INFO] [stdout] 41 |                 check_len(buf, $size)?;
[INFO] [stdout]    |                                ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around block return value
[INFO] [stdout]   --> src/byte.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 | num_impl!(isize, (mem::size_of::<isize>()));
[INFO] [stdout]    |                  ^                       ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 58 - num_impl!(isize, (mem::size_of::<isize>()));
[INFO] [stdout] 58 + num_impl!(isize, mem::size_of::<isize>() );
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::stdin`
[INFO] [stdout]   --> src/main.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::io::stdin;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]   --> src/main.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::spawn`
[INFO] [stdout]   --> src/main.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | use std::thread::spawn;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::prelude`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::prelude::*;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]  --> src/account.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Account{
[INFO] [stdout]   |            ------- field in this struct
[INFO] [stdout] 4 |     // id: &'static str,
[INFO] [stdout] 5 |     id: String,
[INFO] [stdout]   |     ^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Account` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `id`, `blance`, and `interest` are never used
[INFO] [stdout]   --> src/account.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl Account{
[INFO] [stdout]    | ------------ associated items in this implementation
[INFO] [stdout] 12 |     pub fn new(id: &String, blance: f32, interest: f32, rate: f32) -> Account {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn id(&self) -> &String {
[INFO] [stdout]    |            ^^
[INFO] [stdout] ...
[INFO] [stdout] 24 |     pub fn blance(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn interest(&self) -> f32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_account` is never used
[INFO] [stdout]   --> src/bank.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub fn create_account(id: String, blance: f32, interest: f32, rate: f32) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `show_account` is never used
[INFO] [stdout]   --> src/bank.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn show_account(id: &str) -> &Account {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `init_account` is never used
[INFO] [stdout]    --> src/bank.rs:103:8
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub fn init_account() {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_account` is never used
[INFO] [stdout]    --> src/bank.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn add_account(id: String) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BTree` is never constructed
[INFO] [stdout]  --> src/btree.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct BTree<K, V> {
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/btree.rs:21:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | / impl<K, V> BTree<K, V>
[INFO] [stdout]  17 | | where
[INFO] [stdout]  18 | |     K: Encodable + Decodable + BinSizer + PartialEq + PartialOrd + Debug + Clone,
[INFO] [stdout]  19 | |     V: Encodable + Decodable + BinSizer + Debug + Clone,
[INFO] [stdout]     | |________________________________________________________- associated items in this implementation
[INFO] [stdout]  20 |   {
[INFO] [stdout]  21 |       pub fn new(path: &'static str) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |       fn sync(&mut self) -> Result<()> {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |       fn init_as_empty(&mut self) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  66 |       fn init_load(&mut self) {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  81 |       pub fn set(&mut self, key: &K, value: &V) -> Result<()> {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |       pub fn get(&mut self, key: &K) -> Option<V> {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |       fn new_page(&mut self, pt: PageType) -> Result<Page<K, V>> {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 250 |       fn split_leaf_page(&mut self, p: &mut Page<K, V>, key: &K, value: &V) -> Result<(K, u32)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |       fn split_internal_page(&mut self, p: &mut Page<K, V>, key: &K, ptr: u32) -> Result<(K, u32)> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BinSizer` is never used
[INFO] [stdout]  --> src/byte.rs:4:11
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub trait BinSizer {
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Encodable` is never used
[INFO] [stdout]  --> src/byte.rs:8:11
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub trait Encodable {
[INFO] [stdout]   |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `Decodable` is never used
[INFO] [stdout]   --> src/byte.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub trait Decodable where Self: Sized{
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_len` is never used
[INFO] [stdout]   --> src/byte.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn check_len(buf: &[u8], size: usize) -> Result<()>{
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PAGE_SIZE` is never used
[INFO] [stdout]   --> src/page.rs:12:11
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub const PAGE_SIZE: usize = 4096;
[INFO] [stdout]    |           ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_KEY_SIZE` is never used
[INFO] [stdout]   --> src/page.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const MAX_KEY_SIZE: usize = 128;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_VALUE_SIZE` is never used
[INFO] [stdout]   --> src/page.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const MAX_VALUE_SIZE: usize = 1024;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `PTR_SIZE` is never used
[INFO] [stdout]   --> src/page.rs:15:7
[INFO] [stdout]    |
[INFO] [stdout] 15 | const PTR_SIZE: usize = 4;
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PageError` is never used
[INFO] [stdout]   --> src/page.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum PageError {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Page` is never constructed
[INFO] [stdout]   --> src/page.rs:23:19
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub(crate) struct Page<K, V> {
[INFO] [stdout]    |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PageType` is never used
[INFO] [stdout]   --> src/page.rs:38:17
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub(crate) enum PageType {
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Pos` is never used
[INFO] [stdout]   --> src/page.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub(crate) enum Pos {
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/page.rs:74:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | / impl<K, V> Page<K, V>
[INFO] [stdout]  70 | | where
[INFO] [stdout]  71 | |     K: Encodable + Decodable + BinSizer + PartialEq + PartialOrd + Debug + Clone,
[INFO] [stdout]  72 | |     V: Encodable + Decodable + BinSizer + Debug + Clone,
[INFO] [stdout]     | |________________________________________________________- associated items in this implementation
[INFO] [stdout]  73 |   {
[INFO] [stdout]  74 |       pub fn new(fd: Rc<RefCell<File>>, index: u32, pt: PageType) -> Result<Self> {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |       fn init_layout(&mut self) {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |       pub fn load(fd: Rc<RefCell<File>>, index: u32) -> Result<Self> {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |       fn mark_dirty(&mut self) {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |       fn get_page_type(&self) -> PageType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |       pub fn root_index(&self) -> u32 {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |       pub fn total_pages(&self) -> u32 {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 163 |       pub fn set_root_index(&mut self, root_index: u32) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |       pub fn set_total_page(&mut self, total_page: u32) {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |       pub fn item_count(&self) -> usize {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |       pub fn is_full(&self) -> bool {
[INFO] [stdout]     |              ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |       pub fn set_item_count(&mut self, item_count: usize) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |       pub fn key_at(&self, i: usize) -> Option<K> {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |       pub fn value_at(&self, i: usize) -> Option<V> {
[INFO] [stdout]     |              ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |       pub fn ptr_at(&self, i: usize) -> Option<u32> {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |       pub fn set_key_at(&mut self, i: usize, key: &K) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 269 |       pub fn set_value_at(&mut self, i: usize, value: &V) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |       pub fn set_ptr_at(&mut self, i: usize, ptr: u32) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 297 |       pub fn find(&self, k: &K) -> Option<(usize, Pos)> {
[INFO] [stdout]     |              ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |       pub fn insert(&mut self, k: &K, v: &V) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 397 |       pub fn insert_ptr(&mut self, k: &K, ptr: u32) -> Result<()> {
[INFO] [stdout]     |              ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync` is never used
[INFO] [stdout]    --> src/page.rs:523:12
[INFO] [stdout]     |
[INFO] [stdout] 522 | impl<K, V> Page<K, V> {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] 523 |     pub fn sync(&mut self) -> Result<()> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/bank.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 |     unsafe { index.insert(id, ACCOUNTS.len()) };
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/bank.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |     unsafe { ACCOUNTS.push(account) }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/bank.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |     unsafe { ACCOUNTS.get(*index).unwrap() }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/byte.rs:71:43
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let val: $base = unsafe { mem::transmute(*self) };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 | float_impl!(f32, u32);
[INFO] [stdout]    | --------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `float_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 71 -                 let val: $base = unsafe { mem::transmute(*self) };
[INFO] [stdout] 71 +                 let val: $base = unsafe { f32::to_bits(*self) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/byte.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 Ok((unsafe {mem::transmute(val)}, size))
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 | float_impl!(f32, u32);
[INFO] [stdout]    | --------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `float_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 79 -                 Ok((unsafe {mem::transmute(val)}, size))
[INFO] [stdout] 79 +                 Ok((unsafe {f32::from_bits(val)}, size))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/byte.rs:71:43
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let val: $base = unsafe { mem::transmute(*self) };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 | float_impl!(f64, u64);
[INFO] [stdout]    | --------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `float_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 71 -                 let val: $base = unsafe { mem::transmute(*self) };
[INFO] [stdout] 71 +                 let val: $base = unsafe { f64::to_bits(*self) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/byte.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 Ok((unsafe {mem::transmute(val)}, size))
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 | float_impl!(f64, u64);
[INFO] [stdout]    | --------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `float_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 79 -                 Ok((unsafe {mem::transmute(val)}, size))
[INFO] [stdout] 79 +                 Ok((unsafe {f64::from_bits(val)}, size))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/main.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mut map = BTree::<i32, f32>::new("./index.btree");
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `map`
[INFO] [stdout]   --> src/main.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let mut map = BTree::<i32, f32>::new("./index.btree");
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_map`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `add_account` is never used
[INFO] [stdout]    --> src/bank.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 | pub fn add_account(id: String) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `path` is never read
[INFO] [stdout]   --> src/btree.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct BTree<K, V> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] 10 |     path: &'static str,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_KEY_SIZE` is never used
[INFO] [stdout]   --> src/page.rs:13:11
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub const MAX_KEY_SIZE: usize = 128;
[INFO] [stdout]    |           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `MAX_VALUE_SIZE` is never used
[INFO] [stdout]   --> src/page.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub const MAX_VALUE_SIZE: usize = 1024;
[INFO] [stdout]    |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/bank.rs:23:31
[INFO] [stdout]    |
[INFO] [stdout] 23 |     unsafe { index.insert(id, ACCOUNTS.len()) };
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/bank.rs:24:14
[INFO] [stdout]    |
[INFO] [stdout] 24 |     unsafe { ACCOUNTS.push(account) }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/bank.rs:31:14
[INFO] [stdout]    |
[INFO] [stdout] 31 |     unsafe { ACCOUNTS.get(*index).unwrap() }
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/bank.rs:128:13
[INFO] [stdout]     |
[INFO] [stdout] 128 |             ACCOUNTS.clear();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/bank.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             ACCOUNTS.clear();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/bank.rs:152:13
[INFO] [stdout]     |
[INFO] [stdout] 152 |             ACCOUNTS.clear();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/bank.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |             ACCOUNTS.clear();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/bank.rs:166:28
[INFO] [stdout]     |
[INFO] [stdout] 166 |             for account in &ACCOUNTS {
[INFO] [stdout]     |                            ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 166 |             for account in &raw const ACCOUNTS {
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/bank.rs:169:28
[INFO] [stdout]     |
[INFO] [stdout] 169 |             for account in &ACCOUNTS {
[INFO] [stdout]     |                            ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 169 |             for account in &raw const ACCOUNTS {
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/bank.rs:180:13
[INFO] [stdout]     |
[INFO] [stdout] 180 |             ACCOUNTS.clear();
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/bank.rs:182:28
[INFO] [stdout]     |
[INFO] [stdout] 182 |             for account in &ACCOUNTS {
[INFO] [stdout]     |                            ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 182 |             for account in &raw const ACCOUNTS {
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/bank.rs:185:28
[INFO] [stdout]     |
[INFO] [stdout] 185 |             for account in &ACCOUNTS {
[INFO] [stdout]     |                            ^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[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: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 185 |             for account in &raw const ACCOUNTS {
[INFO] [stdout]     |                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/byte.rs:71:43
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let val: $base = unsafe { mem::transmute(*self) };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 | float_impl!(f32, u32);
[INFO] [stdout]    | --------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout]    = note: this warning originates in the macro `float_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 71 -                 let val: $base = unsafe { mem::transmute(*self) };
[INFO] [stdout] 71 +                 let val: $base = unsafe { f32::to_bits(*self) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/byte.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 Ok((unsafe {mem::transmute(val)}, size))
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 | float_impl!(f32, u32);
[INFO] [stdout]    | --------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `float_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 79 -                 Ok((unsafe {mem::transmute(val)}, size))
[INFO] [stdout] 79 +                 Ok((unsafe {f32::from_bits(val)}, size))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/byte.rs:71:43
[INFO] [stdout]    |
[INFO] [stdout] 71 |                 let val: $base = unsafe { mem::transmute(*self) };
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 | float_impl!(f64, u64);
[INFO] [stdout]    | --------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `float_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 71 -                 let val: $base = unsafe { mem::transmute(*self) };
[INFO] [stdout] 71 +                 let val: $base = unsafe { f64::to_bits(*self) };
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]   --> src/byte.rs:79:29
[INFO] [stdout]    |
[INFO] [stdout] 79 |                 Ok((unsafe {mem::transmute(val)}, size))
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 86 | float_impl!(f64, u64);
[INFO] [stdout]    | --------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: this warning originates in the macro `float_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: replace this with
[INFO] [stdout]    |
[INFO] [stdout] 79 -                 Ok((unsafe {mem::transmute(val)}, size))
[INFO] [stdout] 79 +                 Ok((unsafe {f64::from_bits(val)}, size))
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.16s
[INFO] running `Command { std: "docker" "inspect" "dab53dc0546087a26f2aacafcc972c3a35d8b77744f43add3c1dd9761ee5fa5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dab53dc0546087a26f2aacafcc972c3a35d8b77744f43add3c1dd9761ee5fa5c", kill_on_drop: false }`
[INFO] [stdout] dab53dc0546087a26f2aacafcc972c3a35d8b77744f43add3c1dd9761ee5fa5c
