[INFO] cloning repository https://github.com/WondFS/sffs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/WondFS/sffs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWondFS%2Fsffs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWondFS%2Fsffs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] dd17470ac276a22025995f97dfa747f7e498000f
[INFO] testing WondFS/sffs against 1.69.0 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FWondFS%2Fsffs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/WondFS/sffs on toolchain 1.69.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.69.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/WondFS/sffs
[INFO] finished tweaking git repo https://github.com/WondFS/sffs
[INFO] tweaked toml for git repo https://github.com/WondFS/sffs written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/WondFS/sffs 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" "+1.69.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9c1abcc6b50c9bb648770d77ae2ed9b13c9d5ba067fa2744c9fac048f6634545
[INFO] running `Command { std: "docker" "start" "-a" "9c1abcc6b50c9bb648770d77ae2ed9b13c9d5ba067fa2744c9fac048f6634545", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9c1abcc6b50c9bb648770d77ae2ed9b13c9d5ba067fa2744c9fac048f6634545", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c1abcc6b50c9bb648770d77ae2ed9b13c9d5ba067fa2744c9fac048f6634545", kill_on_drop: false }`
[INFO] [stdout] 9c1abcc6b50c9bb648770d77ae2ed9b13c9d5ba067fa2744c9fac048f6634545
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fdbc098231fe46dfc56d53de878f0ca7f37ab485a49a4c79384e5dad34b07991
[INFO] running `Command { std: "docker" "start" "-a" "fdbc098231fe46dfc56d53de878f0ca7f37ab485a49a4c79384e5dad34b07991", kill_on_drop: false }`
[INFO] [stderr]    Compiling snap v1.0.5
[INFO] [stderr]    Compiling sffs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/driver/disk_manager.rs:101:9
[INFO] [stdout]     |
[INFO] [stdout] 101 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::compress::compress`
[INFO] [stdout]  --> src/inode/inode.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::compress::compress;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]   --> src/buf.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn read(&mut self, dev: u8, address: u32) -> [u8; 4096] {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]   --> src/buf.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn write(&mut self, dev: u8, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]   --> src/buf.rs:53:29
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn erase(&mut self, dev: u8, block_no: u32) {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metadata`
[INFO] [stdout]   --> src/raw/raw_node.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let metadata = [0u8; 100];
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/raw/raw_node.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(buf: [u8; 4096]) -> Option<RawNode> {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_no`
[INFO] [stdout]   --> src/driver/disk.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn disk_read(&self, block_no: u32) -> [[u8; 4096]; 128] {
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_no`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/driver/disk.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/driver/disk.rs:18:48
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_no`
[INFO] [stdout]   --> src/driver/disk.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn disk_erase(&mut self, block_no: u32) {
[INFO] [stdout]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_no`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inode`
[INFO] [stdout]    --> src/inode/inode_test.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let inode = self.core.as_mut().unwrap().borrow_mut().dispose_event_group(event_group).unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_inode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `huffman`
[INFO] [stdout]   --> src/compress/compress.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let huffman = huffman::HuffmanCodec::new();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_huffman`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `huffman`
[INFO] [stdout]   --> src/compress/compress.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let huffman = huffman::HuffmanCodec::new();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_huffman`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compress_type`
[INFO] [stdout]   --> src/compress/compress.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn decode(bytes: &[u8], compress_type: CompressType) -> Vec<u8> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compress_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/core_manager.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let mut address = block_no * 128;
[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: struct `GCEventGroup` is never constructed
[INFO] [stdout]  --> src/gc/gc_event.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct GCEventGroup {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Erase`, `Move`, and `None` are never constructed
[INFO] [stdout]   --> src/gc/gc_event.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum GCEvent {
[INFO] [stdout]    |          ------- variants in this enum
[INFO] [stdout] 15 |     Erase(EraseGCEvent),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 16 |     Move(MoveGCEvent),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 17 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GCEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/gc/gc_event.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn new() -> GCEventGroup {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_index` is never used
[INFO] [stdout]   --> src/gc/gc_event.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn get_index(&self) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Clean`, `Dirty`, and `Busy` are never constructed
[INFO] [stdout]  --> src/gc/gc_manager.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub enum PageUsedStatus {
[INFO] [stdout]   |          -------------- variants in this enum
[INFO] [stdout] 7 |     Clean,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 8 |     Dirty,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 9 |     Busy(u32),
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `PageUsedStatus` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GCManager` is never constructed
[INFO] [stdout]   --> src/gc/gc_manager.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct GCManager {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gc/gc_manager.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new() -> GCManager {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_next_pos_to_write` is never used
[INFO] [stdout]   --> src/gc/gc_manager.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn find_next_pos_to_write(&self, size: u32) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_next_pos_to_write_except` is never used
[INFO] [stdout]   --> src/gc/gc_manager.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn find_next_pos_to_write_except(&self, size: u32, block_no: u32) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_gc_event` is never used
[INFO] [stdout]   --> src/gc/gc_manager.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub fn generate_gc_event(&mut self) -> gc_event::GCEventGroup {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_table` is never used
[INFO] [stdout]    --> src/gc/gc_manager.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 |     pub fn set_table(&mut self, address: u32, status: PageUsedStatus) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_table` is never used
[INFO] [stdout]    --> src/gc/gc_manager.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 |     pub fn get_table(&self, address: u32) -> PageUsedStatus {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MainTable` is never constructed
[INFO] [stdout]  --> src/gc/main_table.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MainTable {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gc/main_table.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new() -> MainTable {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_page` is never used
[INFO] [stdout]   --> src/gc/main_table.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn set_page(&mut self, address: u32, status: gc_manager::PageUsedStatus) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_page` is never used
[INFO] [stdout]   --> src/gc/main_table.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn get_page(&self, address: u32) -> gc_manager::PageUsedStatus {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockTable` is never constructed
[INFO] [stdout]  --> src/gc/block_table.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct BlockTable {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/gc/block_table.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub fn new(size: u32) -> BlockTable {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_page` is never used
[INFO] [stdout]   --> src/gc/block_table.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 |     pub fn clean_page(&mut self, address: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `use_page` is never used
[INFO] [stdout]   --> src/gc/block_table.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn use_page(&mut self, address: u32) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeKV` is never constructed
[INFO] [stdout]  --> src/kv/fake_kv.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct FakeKV {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/kv/fake_kv.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new() -> FakeKV {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_inode` is never used
[INFO] [stdout]   --> src/kv/fake_kv.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn get_inode(&self, ino: u32) -> raw_inode::RawInode {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_inode` is never used
[INFO] [stdout]   --> src/kv/fake_kv.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn update_inode(&mut self, inode: raw_inode::RawInode) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_inode` is never used
[INFO] [stdout]   --> src/kv/fake_kv.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn delete_inode(&mut self, ino: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `allocate_inode` is never used
[INFO] [stdout]   --> src/kv/fake_kv.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn allocate_inode(&mut self) -> raw_inode::RawInode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawInode` is never constructed
[INFO] [stdout]  --> src/kv/raw_inode.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct RawInode {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BufCache` is never constructed
[INFO] [stdout]   --> src/buf.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct BufCache {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/buf.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new(address: u32, data: [u8; 4096]) -> Buf {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/buf.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new() -> BufCache {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/buf.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn read(&mut self, dev: u8, address: u32) -> [u8; 4096] {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]   --> src/buf.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn write(&mut self, dev: u8, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `erase` is never used
[INFO] [stdout]   --> src/buf.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn erase(&mut self, dev: u8, block_no: u32) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_data` is never used
[INFO] [stdout]   --> src/buf.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_data(&mut self, address: u32) -> Option<[u8; 4096]> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put_data` is never used
[INFO] [stdout]   --> src/buf.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub fn put_data(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove_data` is never used
[INFO] [stdout]   --> src/buf.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn remove_data(&mut self, address: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawData` is never constructed
[INFO] [stdout]  --> src/raw/raw_data.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct RawData {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/raw/raw_data.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new(data: Vec<u8>) -> RawData {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_page` is never used
[INFO] [stdout]   --> src/raw/raw_data.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn get_page(&self, index: u32) -> Option<[u8; 4096]> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawFile` is never constructed
[INFO] [stdout]  --> src/raw/raw_file.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct RawFile {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/raw/raw_file.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> RawFile {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RawNodeType` is never used
[INFO] [stdout]  --> src/raw/raw_node.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum RawNodeType {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNode` is never constructed
[INFO] [stdout]  --> src/raw/raw_node.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct RawNode {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNodeNodeEntry` is never constructed
[INFO] [stdout]   --> src/raw/raw_node.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RawNodeNodeEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNodeDataEntry` is never constructed
[INFO] [stdout]   --> src/raw/raw_node.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RawNodeDataEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/raw/raw_node.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new(data: [u8; 3072],) -> NodeRegion {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/raw/raw_node.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn new(data: [u8; 3072]) -> DataRegion {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/raw/raw_node.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(buf: [u8; 4096]) -> Option<RawNode> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decode` is never used
[INFO] [stdout]    --> src/raw/raw_node.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn decode(&self) -> [u8; 4096] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuperBlock` is never constructed
[INFO] [stdout]  --> src/raw/raw_super.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SuperBlock {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/raw/raw_super.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn new() -> SuperBlock {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BIT` is never constructed
[INFO] [stdout]  --> src/core/bit.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct BIT {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/core/bit.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new() -> BIT {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `init_page` is never used
[INFO] [stdout]   --> src/core/bit.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn init_page(&mut self, address: u32, status: bool) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_page` is never used
[INFO] [stdout]   --> src/core/bit.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_page(&self, address: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_page` is never used
[INFO] [stdout]   --> src/core/bit.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn set_page(&mut self, address: u32, status: bool) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_block` is never used
[INFO] [stdout]   --> src/core/bit.rs:41:12
[INFO] [stdout]    |
[INFO] [stdout] 41 |     pub fn get_block(&self, block_no: u32) -> Option<[bool; 128]> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_block` is never used
[INFO] [stdout]   --> src/core/bit.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn set_block(&mut self, block_no: u32, status: [bool; 128]) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encode` is never used
[INFO] [stdout]   --> src/core/bit.rs:59:12
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub fn encode(&self) -> array::Array2<u8> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `need_sync` is never used
[INFO] [stdout]   --> src/core/bit.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn need_sync(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync` is never used
[INFO] [stdout]   --> src/core/bit.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn sync(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_op` is never used
[INFO] [stdout]   --> src/core/bit.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn begin_op(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `end_op` is never used
[INFO] [stdout]   --> src/core/bit.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn end_op(&mut self) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PIT` is never constructed
[INFO] [stdout]  --> src/core/pit.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct PIT {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/core/pit.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub fn new() -> PIT {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `init_page` is never used
[INFO] [stdout]   --> src/core/pit.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn init_page(&mut self, address: u32, status: u32) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_page` is never used
[INFO] [stdout]   --> src/core/pit.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn get_page(&self, address: u32) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_page` is never used
[INFO] [stdout]   --> src/core/pit.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn set_page(&mut self, address: u32, status: u32) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_page` is never used
[INFO] [stdout]   --> src/core/pit.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn delete_page(&mut self, address: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_page` is never used
[INFO] [stdout]   --> src/core/pit.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn clean_page(&mut self, address: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `encode` is never used
[INFO] [stdout]   --> src/core/pit.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn encode(&self) -> Array2<u8> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `need_sync` is never used
[INFO] [stdout]   --> src/core/pit.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn need_sync(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync` is never used
[INFO] [stdout]   --> src/core/pit.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub fn sync(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `begin_op` is never used
[INFO] [stdout]   --> src/core/pit.rs:98:12
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn begin_op(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `end_op` is never used
[INFO] [stdout]    --> src/core/pit.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn end_op(&mut self) {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/core/pit.rs:114:12
[INFO] [stdout]     |
[INFO] [stdout] 114 |     pub fn new(data: &array::Array2<u8>) -> DataRegion {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VAM` is never constructed
[INFO] [stdout]  --> src/core/vam.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct VAM {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/core/vam.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new() -> VAM {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_available_address` is never used
[INFO] [stdout]   --> src/core/vam.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn get_available_address(&mut self, size: u32) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_virtual_address` is never used
[INFO] [stdout]   --> src/core/vam.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub fn get_virtual_address(&self, address: u32) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_physic_address` is never used
[INFO] [stdout]   --> src/core/vam.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn get_physic_address(&self, v_address: u32) -> Option<u32> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert_map` is never used
[INFO] [stdout]   --> src/core/vam.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn insert_map(&mut self, address: u32, v_address: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_map` is never used
[INFO] [stdout]   --> src/core/vam.rs:52:12
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub fn update_map(&mut self, address: u32, v_address: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_map` is never used
[INFO] [stdout]   --> src/core/vam.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub fn delete_map(&mut self, address: u32, v_address: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CoreManager` is never constructed
[INFO] [stdout]   --> src/core/core_manager.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct CoreManager {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new() -> CoreManager {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_sb` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn read_sb(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `mount` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn mount(&mut self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `allocate_inode` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn allocate_inode(&mut self) -> inode::Inode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_inode` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn get_inode(&mut self, ino: u32) -> inode::Inode {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_inode` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn update_inode(&mut self, inode: inode::Inode) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_inode` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:74:12
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub fn delete_inode(&mut self, ino: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_raw_inode` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:78:12
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub fn get_raw_inode(&mut self, ino: u32) -> raw_inode::RawInode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_raw_inode` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn update_raw_inode(&mut self, raw_inode: raw_inode::RawInode) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `find_next_pos_to_write` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 |     pub fn find_next_pos_to_write(&mut self, size: u32) -> u32 {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `forward_gc` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn forward_gc(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `background_gc` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn background_gc(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_main_table_page` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub fn set_main_table_page(&mut self, address: u32, status: PageUsedStatus) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dispose_gc_group` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn dispose_gc_group(&mut self, gc_group: gc_event::GCEventGroup) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_bit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:174:12
[INFO] [stdout]     |
[INFO] [stdout] 174 |     pub fn read_bit(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_bit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 195 |     pub fn set_bit(&mut self, data: array::Array2::<u8>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_bit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 212 |     pub fn update_bit(&mut self, address: u32, status: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync_bit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:221:12
[INFO] [stdout]     |
[INFO] [stdout] 221 |     pub fn sync_bit(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bit_begin_op` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:233:12
[INFO] [stdout]     |
[INFO] [stdout] 233 |     pub fn bit_begin_op(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bit_end_op` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn bit_end_op(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_pit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:246:12
[INFO] [stdout]     |
[INFO] [stdout] 246 |     pub fn read_pit(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set_pit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:267:12
[INFO] [stdout]     |
[INFO] [stdout] 267 |     pub fn set_pit(&mut self, data: array::Array2::<u8>) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_pit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |     pub fn update_pit(&mut self, address: u32, status: u32) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dirty_pit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:283:12
[INFO] [stdout]     |
[INFO] [stdout] 283 |     pub fn dirty_pit(&mut self, address: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `clean_pit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:289:12
[INFO] [stdout]     |
[INFO] [stdout] 289 |     pub fn clean_pit(&mut self, address: u32) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync_pit` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:295:12
[INFO] [stdout]     |
[INFO] [stdout] 295 |     pub fn sync_pit(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pit_begin_op` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 |     pub fn pit_begin_op(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pit_end_op` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:311:12
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn pit_end_op(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_page` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:319:12
[INFO] [stdout]     |
[INFO] [stdout] 319 |     pub fn read_page(&mut self, address: u32, is_main: bool) -> [u8; 4096] {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_block` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:327:12
[INFO] [stdout]     |
[INFO] [stdout] 327 |     pub fn read_block(&mut self, block_no: u32, is_main: bool) -> array::Array1::<[u8; 4096]> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_page` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 344 |     pub fn write_page(&mut self, address: u32, data: [u8; 4096], is_main: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write_block` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:352:12
[INFO] [stdout]     |
[INFO] [stdout] 352 |     pub fn write_block(&mut self, block_no: u32, data: array::Array1::<[u8; 4096]>, is_main: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `erase_block` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:362:12
[INFO] [stdout]     |
[INFO] [stdout] 362 |     pub fn erase_block(&mut self, block_no: u32, is_main: bool) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_data` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout] 373 |     pub fn read_data(&mut self, v_address: u32) -> [u8; 4096] {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dispose_event_group` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 378 |     pub fn dispose_event_group(&mut self, event_group: inode_event::InodeEventGroup) -> Option<inode::Inode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `transfer_raw_inode_to_inode` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:497:12
[INFO] [stdout]     |
[INFO] [stdout] 497 |     pub fn transfer_raw_inode_to_inode(raw_inode: &raw_inode::RawInode) -> inode::Inode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `transfer_inode_to_raw_inode` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:532:12
[INFO] [stdout]     |
[INFO] [stdout] 532 |     pub fn transfer_inode_to_raw_inode(inode: &inode::Inode) -> raw_inode::RawInode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `sort_gc_event` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:562:12
[INFO] [stdout]     |
[INFO] [stdout] 562 |     pub fn sort_gc_event(event_group: &mut gc_event::GCEventGroup) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `sort_inode_event` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:577:12
[INFO] [stdout]     |
[INFO] [stdout] 577 |     pub fn sort_inode_event(event_group: &mut inode_event::InodeEventGroup) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `truncate_array_1_to_array_2` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:592:12
[INFO] [stdout]     |
[INFO] [stdout] 592 |     pub fn truncate_array_1_to_array_2(array: array::Array1<[u8; 4096]>) -> array::Array2::<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `truncate_array_2_to_array_1` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:606:12
[INFO] [stdout]     |
[INFO] [stdout] 606 |     pub fn truncate_array_2_to_array_1(array: array::Array2<u8>) -> array::Array1::<[u8; 4096]> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiskDriver` is never constructed
[INFO] [stdout]  --> src/driver/disk.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct DiskDriver {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/driver/disk.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new() -> DiskDriver {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `disk_read` is never used
[INFO] [stdout]   --> src/driver/disk.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn disk_read(&self, block_no: u32) -> [[u8; 4096]; 128] {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `disk_write` is never used
[INFO] [stdout]   --> src/driver/disk.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `disk_erase` is never used
[INFO] [stdout]   --> src/driver/disk.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn disk_erase(&mut self, block_no: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FakeDisk` is never constructed
[INFO] [stdout]  --> src/driver/fake_disk.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct FakeDisk {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/driver/fake_disk.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(size: u32) -> FakeDisk {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fake_disk_read` is never used
[INFO] [stdout]   --> src/driver/fake_disk.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn fake_disk_read(&self, block_no: u32) -> [[u8; 4096]; 128] {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fake_disk_write` is never used
[INFO] [stdout]   --> src/driver/fake_disk.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 44 |     pub fn fake_disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fake_disk_erase` is never used
[INFO] [stdout]   --> src/driver/fake_disk.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn fake_disk_erase(&mut self, block_no: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiskManager` is never constructed
[INFO] [stdout]  --> src/driver/disk_manager.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct DiskManager {
[INFO] [stdout]   |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/driver/disk_manager.rs:13:12
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub fn new(is_virtual: bool) -> DiskManager {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/driver/disk_manager.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub fn read(&self, block_no: u32) -> [[u8; 4096]; 128] {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `disk_read` is never used
[INFO] [stdout]   --> src/driver/disk_manager.rs:46:12
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub fn disk_read(&self, block_no: u32) -> [[u8; 4096]; 128] {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `disk_write` is never used
[INFO] [stdout]   --> src/driver/disk_manager.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `disk_erase` is never used
[INFO] [stdout]   --> src/driver/disk_manager.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn disk_erase(&mut self, block_no: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `transfer` is never used
[INFO] [stdout]   --> src/driver/disk_manager.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn transfer(data: [[u8; 4096]; 128]) -> array::Array1<[u8; 4096]> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `reverse` is never used
[INFO] [stdout]   --> src/driver/disk_manager.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn reverse(data: &array::Array1<[u8; 4096]>) -> [[u8; 4096]; 128] {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/util/array.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Iter1<'a, T> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     size: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/util/array.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub fn new(size: u32) -> Array1<T> {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `init` is never used
[INFO] [stdout]   --> src/util/array.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn init(&mut self, value: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set` is never used
[INFO] [stdout]   --> src/util/array.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub fn set(&mut self, index: u32, value: T) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/util/array.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn iter(&self) -> Iter1<'_, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dup` is never used
[INFO] [stdout]   --> src/util/array.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn dup(&self) -> Array1<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/array.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 |     fn new(array: &'a s_array::SArray<T>) -> Iter1<'a, T> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/array.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub fn new(row: u32, column: u32) -> Array2<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/util/array.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn len(&self) -> u32 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `size` is never used
[INFO] [stdout]   --> src/util/array.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub fn size(&self) -> [u32; 2] {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `init` is never used
[INFO] [stdout]   --> src/util/array.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn init(&mut self, value: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/util/array.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn get(&self, row: u32, column: u32) -> T {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set` is never used
[INFO] [stdout]   --> src/util/array.rs:99:12
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn set(&mut self, row: u32, column: u32, value: T) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]    --> src/util/array.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn iter(&self) -> Iter2<'_, T> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dup` is never used
[INFO] [stdout]    --> src/util/array.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn dup(&self) -> Array2<T> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/util/array.rs:121:8
[INFO] [stdout]     |
[INFO] [stdout] 121 |     fn new(array: &'a s_array::SArray<T>) -> Iter2<'a, T> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/s_array.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new(dimension: u8, size: Vec<u32>) -> SArray<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_size` is never used
[INFO] [stdout]   --> src/util/s_array.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub fn get_size(&self) -> Vec<u32> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `init_array` is never used
[INFO] [stdout]   --> src/util/s_array.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn init_array(&mut self, value: T) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `set` is never used
[INFO] [stdout]   --> src/util/s_array.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn set(&mut self, pos: Vec<u32>, value: T) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dup` is never used
[INFO] [stdout]   --> src/util/s_array.rs:68:12
[INFO] [stdout]    |
[INFO] [stdout] 68 |     pub fn dup(&self) -> SArray<T> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LRUCache` is never constructed
[INFO] [stdout]  --> src/util/lru_cache.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct LRUCache<T> {
[INFO] [stdout]   |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Link` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:13:6
[INFO] [stdout]    |
[INFO] [stdout] 13 | type Link<T> = Option<Rc<RefCell<Node<T>>>>;
[INFO] [stdout]    |      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Node` is never constructed
[INFO] [stdout]   --> src/util/lru_cache.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct Node<T> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `key` and `elem` are never read
[INFO] [stdout]   --> src/util/lru_cache.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | struct NodeEntry<T> {
[INFO] [stdout]    |        --------- fields in this struct
[INFO] [stdout] 24 |     key: u32,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 25 |     elem: T,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `NodeEntry` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 |     fn new(entry: NodeEntry<T>) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn new(capacity: usize) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_size` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn get_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_key` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn contains_key(&self, key: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:58:12
[INFO] [stdout]    |
[INFO] [stdout] 58 |     pub fn get(&mut self, key: u32) -> Option<Ref<T>> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `put` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn put(&mut self, key: u32, value: T) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `remove` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub fn remove(&mut self, key: u32) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete_node` is never used
[INFO] [stdout]    --> src/util/lru_cache.rs:102:8
[INFO] [stdout]     |
[INFO] [stdout] 102 |     fn delete_node(&mut self, node: &mut Link<T>) -> NodeEntry<T> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_front` is never used
[INFO] [stdout]    --> src/util/lru_cache.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout] 136 |     fn push_front(&mut self, entry: NodeEntry<T>) {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pop_back` is never used
[INFO] [stdout]    --> src/util/lru_cache.rs:153:8
[INFO] [stdout]     |
[INFO] [stdout] 153 |     fn pop_back(&mut self) -> Option<T> {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/safe_linked_list.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn new(elem: T) -> Rc<RefCell<Self>> {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/safe_linked_list.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_front` is never used
[INFO] [stdout]   --> src/util/safe_linked_list.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn push_front(&mut self, elem: T) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push_back` is never used
[INFO] [stdout]   --> src/util/safe_linked_list.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn push_back(&mut self, elem: T) {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek_front` is never used
[INFO] [stdout]   --> src/util/safe_linked_list.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub fn peek_front(&self) -> Option<Ref<T>> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek_back` is never used
[INFO] [stdout]    --> src/util/safe_linked_list.rs:101:12
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub fn peek_back(&self) -> Option<Ref<T>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek_front_mut` is never used
[INFO] [stdout]    --> src/util/safe_linked_list.rs:107:12
[INFO] [stdout]     |
[INFO] [stdout] 107 |     pub fn peek_front_mut(&mut self) -> Option<RefMut<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek_back_mut` is never used
[INFO] [stdout]    --> src/util/safe_linked_list.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 |     pub fn peek_back_mut(&mut self) -> Option<RefMut<T>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_iter` is never used
[INFO] [stdout]    --> src/util/safe_linked_list.rs:119:12
[INFO] [stdout]     |
[INFO] [stdout] 119 |     pub fn into_iter(self) -> IntoIter<T> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/util/unsafe_linked_list.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `push` is never used
[INFO] [stdout]   --> src/util/unsafe_linked_list.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 33 |     pub fn push(&mut self, elem: T) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek` is never used
[INFO] [stdout]   --> src/util/unsafe_linked_list.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn peek(&self) -> Option<&T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `peek_mut` is never used
[INFO] [stdout]   --> src/util/unsafe_linked_list.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn peek_mut(&mut self) -> Option<&mut T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `into_iter` is never used
[INFO] [stdout]   --> src/util/unsafe_linked_list.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn into_iter(self) -> IntoIter<T> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/util/unsafe_linked_list.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn iter(&self) -> Iter<'_, T> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter_mut` is never used
[INFO] [stdout]   --> src/util/unsafe_linked_list.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub fn iter_mut(&mut self) -> IterMut<'_, T> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `File`, `Directory`, `SoftLink`, and `HardLink` are never constructed
[INFO] [stdout]   --> src/inode/inode.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub enum InodeFileType {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 9  |     File,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     Directory,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 11 |     SoftLink,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     HardLink,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InodeFileType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InodeStat` is never constructed
[INFO] [stdout]   --> src/inode/inode.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct InodeStat {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Inode` is never constructed
[INFO] [stdout]   --> src/inode/inode.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct Inode {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/inode/inode.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn new() -> Inode {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_all` is never used
[INFO] [stdout]   --> src/inode/inode.rs:65:12
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn read_all(&mut self, buf: &mut Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/inode/inode.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 |     pub fn read(&mut self, offset: u32, len: u32, buf: &mut Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]    --> src/inode/inode.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn write(&mut self, offset: u32, len: u32, buf: &Vec<u8>) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `insert` is never used
[INFO] [stdout]    --> src/inode/inode.rs:202:12
[INFO] [stdout]     |
[INFO] [stdout] 202 |     pub fn insert(&mut self, offset: u32, len: u32, buf: &Vec<u8>) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `truncate` is never used
[INFO] [stdout]    --> src/inode/inode.rs:303:12
[INFO] [stdout]     |
[INFO] [stdout] 303 |     pub fn truncate(&mut self, offset: u32, len: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `truncate_to_end` is never used
[INFO] [stdout]    --> src/inode/inode.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 376 |     pub fn truncate_to_end(&mut self, offset: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_stat` is never used
[INFO] [stdout]    --> src/inode/inode.rs:382:12
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn get_stat(&self) -> InodeStat {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `modify_stat` is never used
[INFO] [stdout]    --> src/inode/inode.rs:394:12
[INFO] [stdout]     |
[INFO] [stdout] 394 |     pub fn modify_stat(&mut self, stat: InodeStat) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dup` is never used
[INFO] [stdout]    --> src/inode/inode.rs:417:12
[INFO] [stdout]     |
[INFO] [stdout] 417 |     pub fn dup(&mut self) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `delete` is never used
[INFO] [stdout]    --> src/inode/inode.rs:430:12
[INFO] [stdout]     |
[INFO] [stdout] 430 |     pub fn delete(&mut self) -> bool {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entry` is never used
[INFO] [stdout]    --> src/inode/inode.rs:442:12
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn read_entry(&mut self, entry: &InodeEntry, start: u32, end: u32) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_by_another_inode` is never used
[INFO] [stdout]    --> src/inode/inode.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 472 |     pub fn update_by_another_inode(&mut self, inode: Inode) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy_inode` is never used
[INFO] [stdout]    --> src/inode/inode.rs:484:12
[INFO] [stdout]     |
[INFO] [stdout] 484 |     pub fn copy_inode(&self) -> Inode {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]    --> src/inode/inode.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 500 |     pub fn debug(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InodeManager` is never constructed
[INFO] [stdout]  --> src/inode/inode_manager.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct InodeManager {
[INFO] [stdout]   |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `CoreLink` is never used
[INFO] [stdout]   --> src/inode/inode_manager.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type CoreLink = Arc<RefCell<core_manager::CoreManager>>;
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `InodeLink` is never used
[INFO] [stdout]   --> src/inode/inode_manager.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub type InodeLink = Arc<RefCell<Inode>>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/inode/inode_manager.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn new() -> InodeManager {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `i_alloc` is never used
[INFO] [stdout]   --> src/inode/inode_manager.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn i_alloc(&mut self) -> Option<InodeLink> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `i_get` is never used
[INFO] [stdout]   --> src/inode/inode_manager.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub fn i_get(&mut self, ino: u32) -> Option<InodeLink> {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `i_dup` is never used
[INFO] [stdout]   --> src/inode/inode_manager.rs:81:12
[INFO] [stdout]    |
[INFO] [stdout] 81 |     pub fn i_dup(&mut self, inode: &InodeLink) -> InodeLink {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `i_put` is never used
[INFO] [stdout]   --> src/inode/inode_manager.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn i_put(&mut self, inode: InodeLink) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InodeEventGroup` is never constructed
[INFO] [stdout]  --> src/inode/inode_event.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct InodeEventGroup {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `AddContent`, `TruncateContent`, `ChangeContent`, `DeleteContent`, `ModifyStat`, and `None` are never constructed
[INFO] [stdout]   --> src/inode/inode_event.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum InodeEvent {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 55 |     AddContent(AddContentInodeEvent),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 56 |     TruncateContent(TruncateContentInodeEvent),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 57 |     ChangeContent(ChangeContentInodeEvent),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 58 |     DeleteContent(DeleteContentInodeEvent),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 59 |     ModifyStat(ModifyInodeStatInodeEvent),
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 60 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InodeEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/inode/inode_event.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub fn new() -> InodeEventGroup {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dup` is never used
[INFO] [stdout]   --> src/inode/inode_event.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn dup(&self) -> InodeEventGroup {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]   --> src/inode/inode_event.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn debug(&self) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_index` is never used
[INFO] [stdout]   --> src/inode/inode_event.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub fn get_index(&self) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `File`, `Directory`, `SoftLink`, and `HardLink` are never constructed
[INFO] [stdout]   --> src/inode/inode_test.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub enum InodeFileType {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 9  |     File,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     Directory,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 11 |     SoftLink,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     HardLink,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InodeFileType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InodeStat` is never constructed
[INFO] [stdout]   --> src/inode/inode_test.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct InodeStat {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Inode` is never constructed
[INFO] [stdout]   --> src/inode/inode_test.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Inode {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/inode/inode_test.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new() -> Inode {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_all` is never used
[INFO] [stdout]   --> src/inode/inode_test.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn read_all(&mut self, buf: &mut Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/inode/inode_test.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn read(&mut self, offset: u32, len: u32, buf: &mut Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn write(&mut self, offset: u32, len: u32, buf: &Vec<u8>) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_stat` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn get_stat(&self) -> InodeStat {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_decompress_entry` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn read_decompress_entry(&mut self, entry: &InodeEntry, start: u32, end: u32) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entry` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn read_entry(&mut self, entry: &InodeEntry, start: u32, end: u32) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_by_another_inode` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn update_by_another_inode(&mut self, inode: Inode) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy_inode` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn copy_inode(&self) -> Inode {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `skip_elem` is never used
[INFO] [stdout]  --> src/common/path.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn skip_elem(path: String) -> Option<(String, String)> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `name_x` is never used
[INFO] [stdout]   --> src/common/path.rs:41:8
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub fn name_x(i_manager: &mut inode_manager::InodeManager, path: String, name: &mut String, name_i_parent: bool) -> Option<inode_manager:...
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `name_i` is never used
[INFO] [stdout]   --> src/common/path.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn name_i(i_manager: &mut inode_manager::InodeManager, path: String) -> Option<inode_manager::InodeLink> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `name_i_parent` is never used
[INFO] [stdout]   --> src/common/path.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn name_i_parent(i_manager: &mut inode_manager::InodeManager, path: String, name: &mut String) -> Option<inode_manager::InodeLink> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `NONE`, `PIPE`, `INODE`, and `DEVICE` are never constructed
[INFO] [stdout]   --> src/common/file.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum FileDescriptorType {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] 7  |     NONE,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 8  |     PIPE,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 9  |     INODE,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     DEVICE,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileType` is never used
[INFO] [stdout]   --> src/common/file.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum FileType {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileStat` is never constructed
[INFO] [stdout]   --> src/common/file.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileStat {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `File` is never constructed
[INFO] [stdout]   --> src/common/file.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct File {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_stat` is never used
[INFO] [stdout]   --> src/common/file.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn file_stat(&self) -> Option<FileStat> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_read` is never used
[INFO] [stdout]   --> src/common/file.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn file_read(&mut self, len: u32, buf: &mut Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_write` is never used
[INFO] [stdout]   --> src/common/file.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn file_write(&mut self, len: u32, buf: &Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/common/file.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 82 |     pub fn new() -> File {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `transfer_inode_stat_to_stat` is never used
[INFO] [stdout]   --> src/common/file.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn transfer_inode_stat_to_stat(inode_stat: inode::InodeStat) -> FileStat {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `transfer_stat_to_inode` is never used
[INFO] [stdout]    --> src/common/file.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn transfer_stat_to_inode(stat: FileStat) -> inode::InodeStat {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir_lookup` is never used
[INFO] [stdout]  --> src/common/directory.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub fn dir_lookup(inode: &inode_manager::InodeLink, name: String) -> Option<(u32, usize)> {
[INFO] [stdout]   |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir_link` is never used
[INFO] [stdout]   --> src/common/directory.rs:26:8
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub fn dir_link(inode: &mut inode_manager::InodeLink, ino: u32, name: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dir_unlink` is never used
[INFO] [stdout]   --> src/common/directory.rs:52:8
[INFO] [stdout]    |
[INFO] [stdout] 52 | pub fn dir_unlink(inode:&mut inode_manager::InodeLink, ino: u32, name: String) -> bool {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/common/directory.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub fn new(data: &Vec<u8>) -> DirectoryParser {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `encode` is never used
[INFO] [stdout]    --> src/common/directory.rs:126:12
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub fn encode(entry: &DirectoryInodeEntry) -> Option<Vec<u8>> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileTable` is never constructed
[INFO] [stdout]  --> src/common/file_table.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct FileTable {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `FileLink` is never used
[INFO] [stdout]   --> src/common/file_table.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type FileLink = Arc<RefCell<file::File>>;
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/common/file_table.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new() -> FileTable {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_alloc` is never used
[INFO] [stdout]   --> src/common/file_table.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 |     pub fn file_alloc(&mut self) -> Option<FileLink> {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_dup` is never used
[INFO] [stdout]   --> src/common/file_table.rs:43:12
[INFO] [stdout]    |
[INFO] [stdout] 43 |     pub fn file_dup(&mut self, link: &FileLink) -> FileLink {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_close` is never used
[INFO] [stdout]   --> src/common/file_table.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn file_close(&mut self, link: FileLink) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/compress/snappy.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new() -> Self {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `RefHuffmanTree` is never used
[INFO] [stdout]  --> src/compress/huffman.rs:8:6
[INFO] [stdout]   |
[INFO] [stdout] 8 | type RefHuffmanTree = Rc<RefCell<HuffmanTree>>;
[INFO] [stdout]   |      ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Weight` is never used
[INFO] [stdout]  --> src/compress/huffman.rs:9:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | type Weight = u32;
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HuffmanTree` is never constructed
[INFO] [stdout]   --> src/compress/huffman.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct HuffmanTree {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CharWeightMap` is never constructed
[INFO] [stdout]   --> src/compress/huffman.rs:72:12
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct CharWeightMap {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/compress/huffman.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build` is never used
[INFO] [stdout]   --> src/compress/huffman.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn build(char_weight: CharWeightMap) -> RefHuffmanTree {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `find_min` is never used
[INFO] [stdout]   --> src/compress/huffman.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn find_min(tree_slice: &[Rc<RefCell<HuffmanTree>>]) -> Option<Rc<RefCell<HuffmanTree>>> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build` is never used
[INFO] [stdout]   --> src/compress/huffman.rs:77:12
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub fn build() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `len` is never used
[INFO] [stdout]   --> src/compress/huffman.rs:92:12
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn len(&self) -> usize {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `iter` is never used
[INFO] [stdout]   --> src/compress/huffman.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub fn iter(&self) -> Iter<char, Weight> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build` is never used
[INFO] [stdout]    --> src/compress/huffman.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn build(huffman_tree: RefHuffmanTree) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `tree_dfs` is never used
[INFO] [stdout]    --> src/compress/huffman.rs:111:8
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn tree_dfs(
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/compress/huffman.rs:153:12
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `build` is never used
[INFO] [stdout]    --> src/compress/huffman.rs:231:12
[INFO] [stdout]     |
[INFO] [stdout] 231 |     pub fn build(source: &String) -> Self {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None`, `Huffman`, and `Snappy` are never constructed
[INFO] [stdout]  --> src/compress/compress.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum CompressType {
[INFO] [stdout]   |          ------------ variants in this enum
[INFO] [stdout] 6 |     None,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Huffman,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 8 |     Snappy,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CompressType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CompressManager` is never constructed
[INFO] [stdout]   --> src/compress/compress.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct CompressManager;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `encode` is never used
[INFO] [stdout]   --> src/compress/compress.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn encode(bytes: &[u8]) -> (Vec<u8>, CompressType) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `decode` is never used
[INFO] [stdout]   --> src/compress/compress.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn decode(bytes: &[u8], compress_type: CompressType) -> Vec<u8> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Proc` is never constructed
[INFO] [stdout]  --> src/fake_proc.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Proc {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_proc` is never used
[INFO] [stdout]   --> src/fake_proc.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn my_proc() -> Proc {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WriteCache` is never constructed
[INFO] [stdout]  --> src/write_buf.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct WriteCache {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/write_buf.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new() -> WriteCache {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]   --> src/write_buf.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/write_buf.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn read(&self, address: u32) -> Option<[u8; 4096]> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_all` is never used
[INFO] [stdout]   --> src/write_buf.rs:55:12
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub fn get_all(&self) -> Vec<(u32, [u8; 4096])> {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `recall_write` is never used
[INFO] [stdout]   --> src/write_buf.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn recall_write(&mut self, address: u32) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_address` is never used
[INFO] [stdout]   --> src/write_buf.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn contains_address(&self, address: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `need_sync` is never used
[INFO] [stdout]   --> src/write_buf.rs:75:12
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub fn need_sync(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `sync` is never used
[INFO] [stdout]   --> src/write_buf.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |     pub fn sync(&mut self) {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuperStat` is never constructed
[INFO] [stdout]  --> src/super_stat.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SuperStat {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/super_stat.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn new() -> SuperStat {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 312 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.19s
[INFO] running `Command { std: "docker" "inspect" "fdbc098231fe46dfc56d53de878f0ca7f37ab485a49a4c79384e5dad34b07991", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fdbc098231fe46dfc56d53de878f0ca7f37ab485a49a4c79384e5dad34b07991", kill_on_drop: false }`
[INFO] [stdout] fdbc098231fe46dfc56d53de878f0ca7f37ab485a49a4c79384e5dad34b07991
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 41ec868b59d82b33f45192293a12ce733c9046d925f52a5c747da3104b37bf14
[INFO] running `Command { std: "docker" "start" "-a" "41ec868b59d82b33f45192293a12ce733c9046d925f52a5c747da3104b37bf14", kill_on_drop: false }`
[INFO] [stderr]    Compiling sffs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::compress::compress`
[INFO] [stdout]  --> src/inode/inode.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::compress::compress;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]    --> src/inode/inode.rs:510:9
[INFO] [stdout]     |
[INFO] [stdout] 510 |     use std::sync::Arc;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]   --> src/buf.rs:35:28
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub fn read(&mut self, dev: u8, address: u32) -> [u8; 4096] {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]   --> src/buf.rs:48:29
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fn write(&mut self, dev: u8, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `dev`
[INFO] [stdout]   --> src/buf.rs:53:29
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub fn erase(&mut self, dev: u8, block_no: u32) {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `metadata`
[INFO] [stdout]   --> src/raw/raw_node.rs:88:13
[INFO] [stdout]    |
[INFO] [stdout] 88 |         let metadata = [0u8; 100];
[INFO] [stdout]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `buf`
[INFO] [stdout]   --> src/raw/raw_node.rs:87:16
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(buf: [u8; 4096]) -> Option<RawNode> {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_no`
[INFO] [stdout]   --> src/driver/disk.rs:14:29
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn disk_read(&self, block_no: u32) -> [[u8; 4096]; 128] {
[INFO] [stdout]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_no`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `address`
[INFO] [stdout]   --> src/driver/disk.rs:18:34
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `data`
[INFO] [stdout]   --> src/driver/disk.rs:18:48
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub fn disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stdout]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `block_no`
[INFO] [stdout]   --> src/driver/disk.rs:21:34
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub fn disk_erase(&mut self, block_no: u32) {
[INFO] [stdout]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_no`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inode`
[INFO] [stdout]    --> src/inode/inode_test.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let inode = self.core.as_mut().unwrap().borrow_mut().dispose_event_group(event_group).unwrap();
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_inode`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `huffman`
[INFO] [stdout]   --> src/compress/compress.rs:21:13
[INFO] [stdout]    |
[INFO] [stdout] 21 |         let huffman = huffman::HuffmanCodec::new();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_huffman`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `huffman`
[INFO] [stdout]   --> src/compress/compress.rs:28:13
[INFO] [stdout]    |
[INFO] [stdout] 28 |         let huffman = huffman::HuffmanCodec::new();
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_huffman`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `compress_type`
[INFO] [stdout]   --> src/compress/compress.rs:26:33
[INFO] [stdout]    |
[INFO] [stdout] 26 |     pub fn decode(bytes: &[u8], compress_type: CompressType) -> Vec<u8> {
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compress_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/core_manager.rs:356:13
[INFO] [stdout]     |
[INFO] [stdout] 356 |         let mut address = block_no * 128;
[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: variant `None` is never constructed
[INFO] [stdout]   --> src/gc/gc_event.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum GCEvent {
[INFO] [stdout]    |          ------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 17 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `GCEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawData` is never constructed
[INFO] [stdout]  --> src/raw/raw_data.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct RawData {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/raw/raw_data.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub fn new(data: Vec<u8>) -> RawData {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_page` is never used
[INFO] [stdout]   --> src/raw/raw_data.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub fn get_page(&self, index: u32) -> Option<[u8; 4096]> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawFile` is never constructed
[INFO] [stdout]  --> src/raw/raw_file.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct RawFile {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/raw/raw_file.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub fn new() -> RawFile {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RawNodeType` is never used
[INFO] [stdout]  --> src/raw/raw_node.rs:1:10
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub enum RawNodeType {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNode` is never constructed
[INFO] [stdout]  --> src/raw/raw_node.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct RawNode {
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNodeNodeEntry` is never constructed
[INFO] [stdout]   --> src/raw/raw_node.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RawNodeNodeEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNodeDataEntry` is never constructed
[INFO] [stdout]   --> src/raw/raw_node.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct RawNodeDataEntry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/raw/raw_node.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn new(data: [u8; 3072],) -> NodeRegion {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/raw/raw_node.rs:66:8
[INFO] [stdout]    |
[INFO] [stdout] 66 |     fn new(data: [u8; 3072]) -> DataRegion {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/raw/raw_node.rs:87:12
[INFO] [stdout]    |
[INFO] [stdout] 87 |     pub fn new(buf: [u8; 4096]) -> Option<RawNode> {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `decode` is never used
[INFO] [stdout]    --> src/raw/raw_node.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |     pub fn decode(&self) -> [u8; 4096] {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuperBlock` is never constructed
[INFO] [stdout]  --> src/raw/raw_super.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SuperBlock {
[INFO] [stdout]   |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/raw/raw_super.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn new() -> SuperBlock {
[INFO] [stdout]   |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_sb` is never used
[INFO] [stdout]   --> src/core/core_manager.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub fn read_sb(&mut self) {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `background_gc` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn background_gc(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `bit_end_op` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:237:12
[INFO] [stdout]     |
[INFO] [stdout] 237 |     pub fn bit_end_op(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pit_end_op` is never used
[INFO] [stdout]    --> src/core/core_manager.rs:311:12
[INFO] [stdout]     |
[INFO] [stdout] 311 |     pub fn pit_end_op(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `size` is never read
[INFO] [stdout]   --> src/util/array.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct Iter1<'a, T> {
[INFO] [stdout]    |            ----- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 45 |     size: u32,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_size` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub fn get_size(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `contains_key` is never used
[INFO] [stdout]   --> src/util/lru_cache.rs:54:12
[INFO] [stdout]    |
[INFO] [stdout] 54 |     pub fn contains_key(&self, key: u32) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `truncate_to_end` is never used
[INFO] [stdout]    --> src/inode/inode.rs:376:12
[INFO] [stdout]     |
[INFO] [stdout] 376 |     pub fn truncate_to_end(&mut self, offset: u32) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_stat` is never used
[INFO] [stdout]    --> src/inode/inode.rs:382:12
[INFO] [stdout]     |
[INFO] [stdout] 382 |     pub fn get_stat(&self) -> InodeStat {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dup` is never used
[INFO] [stdout]    --> src/inode/inode.rs:417:12
[INFO] [stdout]     |
[INFO] [stdout] 417 |     pub fn dup(&mut self) -> bool {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]    --> src/inode/inode.rs:500:12
[INFO] [stdout]     |
[INFO] [stdout] 500 |     pub fn debug(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `None` is never constructed
[INFO] [stdout]   --> src/inode/inode_event.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum InodeEvent {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 60 |     None,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InodeEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `File`, `Directory`, `SoftLink`, and `HardLink` are never constructed
[INFO] [stdout]   --> src/inode/inode_test.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout] 8  | pub enum InodeFileType {
[INFO] [stdout]    |          ------------- variants in this enum
[INFO] [stdout] 9  |     File,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     Directory,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 11 |     SoftLink,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 12 |     HardLink,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `InodeFileType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `InodeStat` is never constructed
[INFO] [stdout]   --> src/inode/inode_test.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct InodeStat {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Inode` is never constructed
[INFO] [stdout]   --> src/inode/inode_test.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct Inode {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/inode/inode_test.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub fn new() -> Inode {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_all` is never used
[INFO] [stdout]   --> src/inode/inode_test.rs:67:12
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub fn read_all(&mut self, buf: &mut Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read` is never used
[INFO] [stdout]   --> src/inode/inode_test.rs:71:12
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub fn read(&mut self, offset: u32, len: u32, buf: &mut Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `write` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     pub fn write(&mut self, offset: u32, len: u32, buf: &Vec<u8>) -> bool {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_stat` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn get_stat(&self) -> InodeStat {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_decompress_entry` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:228:12
[INFO] [stdout]     |
[INFO] [stdout] 228 |     pub fn read_decompress_entry(&mut self, entry: &InodeEntry, start: u32, end: u32) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `read_entry` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:238:12
[INFO] [stdout]     |
[INFO] [stdout] 238 |     pub fn read_entry(&mut self, entry: &InodeEntry, start: u32, end: u32) -> Vec<u8> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `update_by_another_inode` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 |     pub fn update_by_another_inode(&mut self, inode: Inode) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `copy_inode` is never used
[INFO] [stdout]    --> src/inode/inode_test.rs:280:12
[INFO] [stdout]     |
[INFO] [stdout] 280 |     pub fn copy_inode(&self) -> Inode {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `name_i` is never used
[INFO] [stdout]   --> src/common/path.rs:79:8
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub fn name_i(i_manager: &mut inode_manager::InodeManager, path: String) -> Option<inode_manager::InodeLink> {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `name_i_parent` is never used
[INFO] [stdout]   --> src/common/path.rs:84:8
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn name_i_parent(i_manager: &mut inode_manager::InodeManager, path: String, name: &mut String) -> Option<inode_manager::InodeLink> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `PIPE`, `INODE`, and `DEVICE` are never constructed
[INFO] [stdout]   --> src/common/file.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout] 6  | pub enum FileDescriptorType {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] 7  |     NONE,
[INFO] [stdout] 8  |     PIPE,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 9  |     INODE,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 10 |     DEVICE,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FileType` is never used
[INFO] [stdout]   --> src/common/file.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum FileType {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileStat` is never constructed
[INFO] [stdout]   --> src/common/file.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct FileStat {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_stat` is never used
[INFO] [stdout]   --> src/common/file.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn file_stat(&self) -> Option<FileStat> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_read` is never used
[INFO] [stdout]   --> src/common/file.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub fn file_read(&mut self, len: u32, buf: &mut Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `file_write` is never used
[INFO] [stdout]   --> src/common/file.rs:63:12
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub fn file_write(&mut self, len: u32, buf: &Vec<u8>) -> i32 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `transfer_inode_stat_to_stat` is never used
[INFO] [stdout]   --> src/common/file.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn transfer_inode_stat_to_stat(inode_stat: inode::InodeStat) -> FileStat {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `transfer_stat_to_inode` is never used
[INFO] [stdout]    --> src/common/file.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn transfer_stat_to_inode(stat: FileStat) -> inode::InodeStat {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None` and `Huffman` are never constructed
[INFO] [stdout]  --> src/compress/compress.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub enum CompressType {
[INFO] [stdout]   |          ------------ variants in this enum
[INFO] [stdout] 6 |     None,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout] 7 |     Huffman,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `CompressType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Proc` is never constructed
[INFO] [stdout]  --> src/fake_proc.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Proc {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `my_proc` is never used
[INFO] [stdout]   --> src/fake_proc.rs:16:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn my_proc() -> Proc {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SuperStat` is never constructed
[INFO] [stdout]  --> src/super_stat.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | pub struct SuperStat {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]  --> src/super_stat.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub fn new() -> SuperStat {
[INFO] [stdout]   |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 3.18s
[INFO] running `Command { std: "docker" "inspect" "41ec868b59d82b33f45192293a12ce733c9046d925f52a5c747da3104b37bf14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "41ec868b59d82b33f45192293a12ce733c9046d925f52a5c747da3104b37bf14", kill_on_drop: false }`
[INFO] [stdout] 41ec868b59d82b33f45192293a12ce733c9046d925f52a5c747da3104b37bf14
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+1.69.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] b09aa4e28d54201644b8dd193b2d904a43066a38be28af600cbacbe51f5b3d9e
[INFO] running `Command { std: "docker" "start" "-a" "b09aa4e28d54201644b8dd193b2d904a43066a38be28af600cbacbe51f5b3d9e", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::compress::compress`
[INFO] [stderr]  --> src/inode/inode.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::compress::compress;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]    --> src/inode/inode.rs:510:9
[INFO] [stderr]     |
[INFO] [stderr] 510 |     use std::sync::Arc;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dev`
[INFO] [stderr]   --> src/buf.rs:35:28
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub fn read(&mut self, dev: u8, address: u32) -> [u8; 4096] {
[INFO] [stderr]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dev`
[INFO] [stderr]   --> src/buf.rs:48:29
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fn write(&mut self, dev: u8, address: u32, data: [u8; 4096]) {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `dev`
[INFO] [stderr]   --> src/buf.rs:53:29
[INFO] [stderr]    |
[INFO] [stderr] 53 |     pub fn erase(&mut self, dev: u8, block_no: u32) {
[INFO] [stderr]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_dev`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `metadata`
[INFO] [stderr]   --> src/raw/raw_node.rs:88:13
[INFO] [stderr]    |
[INFO] [stderr] 88 |         let metadata = [0u8; 100];
[INFO] [stderr]    |             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_metadata`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `buf`
[INFO] [stderr]   --> src/raw/raw_node.rs:87:16
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub fn new(buf: [u8; 4096]) -> Option<RawNode> {
[INFO] [stderr]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block_no`
[INFO] [stderr]   --> src/driver/disk.rs:14:29
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn disk_read(&self, block_no: u32) -> [[u8; 4096]; 128] {
[INFO] [stderr]    |                             ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_no`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `address`
[INFO] [stderr]   --> src/driver/disk.rs:18:34
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stderr]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_address`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `data`
[INFO] [stderr]   --> src/driver/disk.rs:18:48
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub fn disk_write(&mut self, address: u32, data: [u8; 4096]) {
[INFO] [stderr]    |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_data`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `block_no`
[INFO] [stderr]   --> src/driver/disk.rs:21:34
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub fn disk_erase(&mut self, block_no: u32) {
[INFO] [stderr]    |                                  ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_no`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `inode`
[INFO] [stderr]    --> src/inode/inode_test.rs:206:13
[INFO] [stderr]     |
[INFO] [stderr] 206 |         let inode = self.core.as_mut().unwrap().borrow_mut().dispose_event_group(event_group).unwrap();
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_inode`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `huffman`
[INFO] [stderr]   --> src/compress/compress.rs:21:13
[INFO] [stderr]    |
[INFO] [stderr] 21 |         let huffman = huffman::HuffmanCodec::new();
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_huffman`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `huffman`
[INFO] [stderr]   --> src/compress/compress.rs:28:13
[INFO] [stderr]    |
[INFO] [stderr] 28 |         let huffman = huffman::HuffmanCodec::new();
[INFO] [stderr]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_huffman`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `compress_type`
[INFO] [stderr]   --> src/compress/compress.rs:26:33
[INFO] [stderr]    |
[INFO] [stderr] 26 |     pub fn decode(bytes: &[u8], compress_type: CompressType) -> Vec<u8> {
[INFO] [stderr]    |                                 ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_compress_type`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/core_manager.rs:356:13
[INFO] [stderr]     |
[INFO] [stderr] 356 |         let mut address = block_no * 128;
[INFO] [stderr]     |             ----^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variant `None` is never constructed
[INFO] [stderr]   --> src/gc/gc_event.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub enum GCEvent {
[INFO] [stderr]    |          ------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 17 |     None,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `GCEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawData` is never constructed
[INFO] [stderr]  --> src/raw/raw_data.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct RawData {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/raw/raw_data.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 |     pub fn new(data: Vec<u8>) -> RawData {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_page` is never used
[INFO] [stderr]   --> src/raw/raw_data.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 16 |     pub fn get_page(&self, index: u32) -> Option<[u8; 4096]> {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawFile` is never constructed
[INFO] [stderr]  --> src/raw/raw_file.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct RawFile {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/raw/raw_file.rs:14:12
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub fn new() -> RawFile {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `RawNodeType` is never used
[INFO] [stderr]  --> src/raw/raw_node.rs:1:10
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub enum RawNodeType {
[INFO] [stderr]   |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawNode` is never constructed
[INFO] [stderr]  --> src/raw/raw_node.rs:7:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub struct RawNode {
[INFO] [stderr]   |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawNodeNodeEntry` is never constructed
[INFO] [stderr]   --> src/raw/raw_node.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct RawNodeNodeEntry {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawNodeDataEntry` is never constructed
[INFO] [stderr]   --> src/raw/raw_node.rs:27:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | pub struct RawNodeDataEntry {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/raw/raw_node.rs:40:8
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn new(data: [u8; 3072],) -> NodeRegion {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/raw/raw_node.rs:66:8
[INFO] [stderr]    |
[INFO] [stderr] 66 |     fn new(data: [u8; 3072]) -> DataRegion {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/raw/raw_node.rs:87:12
[INFO] [stderr]    |
[INFO] [stderr] 87 |     pub fn new(buf: [u8; 4096]) -> Option<RawNode> {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `decode` is never used
[INFO] [stderr]    --> src/raw/raw_node.rs:104:12
[INFO] [stderr]     |
[INFO] [stderr] 104 |     pub fn decode(&self) -> [u8; 4096] {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SuperBlock` is never constructed
[INFO] [stderr]  --> src/raw/raw_super.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct SuperBlock {
[INFO] [stderr]   |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/raw/raw_super.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn new() -> SuperBlock {
[INFO] [stderr]   |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_sb` is never used
[INFO] [stderr]   --> src/core/core_manager.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub fn read_sb(&mut self) {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `background_gc` is never used
[INFO] [stderr]    --> src/core/core_manager.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn background_gc(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `bit_end_op` is never used
[INFO] [stderr]    --> src/core/core_manager.rs:237:12
[INFO] [stderr]     |
[INFO] [stderr] 237 |     pub fn bit_end_op(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `pit_end_op` is never used
[INFO] [stderr]    --> src/core/core_manager.rs:311:12
[INFO] [stderr]     |
[INFO] [stderr] 311 |     pub fn pit_end_op(&mut self) {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `size` is never read
[INFO] [stderr]   --> src/util/array.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub struct Iter1<'a, T> {
[INFO] [stderr]    |            ----- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 45 |     size: u32,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_size` is never used
[INFO] [stderr]   --> src/util/lru_cache.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub fn get_size(&self) -> usize {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `contains_key` is never used
[INFO] [stderr]   --> src/util/lru_cache.rs:54:12
[INFO] [stderr]    |
[INFO] [stderr] 54 |     pub fn contains_key(&self, key: u32) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `truncate_to_end` is never used
[INFO] [stderr]    --> src/inode/inode.rs:376:12
[INFO] [stderr]     |
[INFO] [stderr] 376 |     pub fn truncate_to_end(&mut self, offset: u32) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_stat` is never used
[INFO] [stderr]    --> src/inode/inode.rs:382:12
[INFO] [stderr]     |
[INFO] [stderr] 382 |     pub fn get_stat(&self) -> InodeStat {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `dup` is never used
[INFO] [stderr]    --> src/inode/inode.rs:417:12
[INFO] [stderr]     |
[INFO] [stderr] 417 |     pub fn dup(&mut self) -> bool {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `debug` is never used
[INFO] [stderr]    --> src/inode/inode.rs:500:12
[INFO] [stderr]     |
[INFO] [stderr] 500 |     pub fn debug(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `None` is never constructed
[INFO] [stderr]   --> src/inode/inode_event.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub enum InodeEvent {
[INFO] [stderr]    |          ---------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 60 |     None,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `InodeEvent` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `File`, `Directory`, `SoftLink`, and `HardLink` are never constructed
[INFO] [stderr]   --> src/inode/inode_test.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr] 8  | pub enum InodeFileType {
[INFO] [stderr]    |          ------------- variants in this enum
[INFO] [stderr] 9  |     File,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 10 |     Directory,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 11 |     SoftLink,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 12 |     HardLink,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `InodeFileType` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `InodeStat` is never constructed
[INFO] [stderr]   --> src/inode/inode_test.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct InodeStat {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Inode` is never constructed
[INFO] [stderr]   --> src/inode/inode_test.rs:36:12
[INFO] [stderr]    |
[INFO] [stderr] 36 | pub struct Inode {
[INFO] [stderr]    |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/inode/inode_test.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub fn new() -> Inode {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_all` is never used
[INFO] [stderr]   --> src/inode/inode_test.rs:67:12
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub fn read_all(&mut self, buf: &mut Vec<u8>) -> i32 {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read` is never used
[INFO] [stderr]   --> src/inode/inode_test.rs:71:12
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub fn read(&mut self, offset: u32, len: u32, buf: &mut Vec<u8>) -> i32 {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `write` is never used
[INFO] [stderr]    --> src/inode/inode_test.rs:106:12
[INFO] [stderr]     |
[INFO] [stderr] 106 |     pub fn write(&mut self, offset: u32, len: u32, buf: &Vec<u8>) -> bool {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_stat` is never used
[INFO] [stderr]    --> src/inode/inode_test.rs:213:12
[INFO] [stderr]     |
[INFO] [stderr] 213 |     pub fn get_stat(&self) -> InodeStat {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_decompress_entry` is never used
[INFO] [stderr]    --> src/inode/inode_test.rs:228:12
[INFO] [stderr]     |
[INFO] [stderr] 228 |     pub fn read_decompress_entry(&mut self, entry: &InodeEntry, start: u32, end: u32) -> Vec<u8> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `read_entry` is never used
[INFO] [stderr]    --> src/inode/inode_test.rs:238:12
[INFO] [stderr]     |
[INFO] [stderr] 238 |     pub fn read_entry(&mut self, entry: &InodeEntry, start: u32, end: u32) -> Vec<u8> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `update_by_another_inode` is never used
[INFO] [stderr]    --> src/inode/inode_test.rs:268:12
[INFO] [stderr]     |
[INFO] [stderr] 268 |     pub fn update_by_another_inode(&mut self, inode: Inode) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `copy_inode` is never used
[INFO] [stderr]    --> src/inode/inode_test.rs:280:12
[INFO] [stderr]     |
[INFO] [stderr] 280 |     pub fn copy_inode(&self) -> Inode {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `name_i` is never used
[INFO] [stderr]   --> src/common/path.rs:79:8
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub fn name_i(i_manager: &mut inode_manager::InodeManager, path: String) -> Option<inode_manager::InodeLink> {
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `name_i_parent` is never used
[INFO] [stderr]   --> src/common/path.rs:84:8
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub fn name_i_parent(i_manager: &mut inode_manager::InodeManager, path: String, name: &mut String) -> Option<inode_manager::InodeLink> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `PIPE`, `INODE`, and `DEVICE` are never constructed
[INFO] [stderr]   --> src/common/file.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr] 6  | pub enum FileDescriptorType {
[INFO] [stderr]    |          ------------------ variants in this enum
[INFO] [stderr] 7  |     NONE,
[INFO] [stderr] 8  |     PIPE,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 9  |     INODE,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 10 |     DEVICE,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FileType` is never used
[INFO] [stderr]   --> src/common/file.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum FileType {
[INFO] [stderr]    |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FileStat` is never constructed
[INFO] [stderr]   --> src/common/file.rs:19:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct FileStat {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `file_stat` is never used
[INFO] [stderr]   --> src/common/file.rs:38:12
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub fn file_stat(&self) -> Option<FileStat> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `file_read` is never used
[INFO] [stderr]   --> src/common/file.rs:47:12
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub fn file_read(&mut self, len: u32, buf: &mut Vec<u8>) -> i32 {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `file_write` is never used
[INFO] [stderr]   --> src/common/file.rs:63:12
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub fn file_write(&mut self, len: u32, buf: &Vec<u8>) -> i32 {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `transfer_inode_stat_to_stat` is never used
[INFO] [stderr]   --> src/common/file.rs:93:12
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub fn transfer_inode_stat_to_stat(inode_stat: inode::InodeStat) -> FileStat {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `transfer_stat_to_inode` is never used
[INFO] [stderr]    --> src/common/file.rs:103:12
[INFO] [stderr]     |
[INFO] [stderr] 103 |     pub fn transfer_stat_to_inode(stat: FileStat) -> inode::InodeStat {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `None` and `Huffman` are never constructed
[INFO] [stderr]  --> src/compress/compress.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub enum CompressType {
[INFO] [stderr]   |          ------------ variants in this enum
[INFO] [stderr] 6 |     None,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr] 7 |     Huffman,
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `CompressType` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Proc` is never constructed
[INFO] [stderr]  --> src/fake_proc.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub struct Proc {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `my_proc` is never used
[INFO] [stderr]   --> src/fake_proc.rs:16:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn my_proc() -> Proc {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SuperStat` is never constructed
[INFO] [stderr]  --> src/super_stat.rs:1:12
[INFO] [stderr]   |
[INFO] [stderr] 1 | pub struct SuperStat {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]  --> src/super_stat.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 |     pub fn new() -> SuperStat {
[INFO] [stderr]   |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `sffs` (bin "sffs" test) generated 71 warnings (run `cargo fix --bin "sffs" --tests` to apply 16 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/sffs-d64da19504795a4a)
[INFO] [stdout] 
[INFO] [stdout] running 46 tests
[INFO] [stdout] test common::path::test::test_skip_elem ... ok
[INFO] [stdout] test common::directory::test::test_directory_parser ... ok
[INFO] [stdout] test compress::snappy::test::basics ... ok
[INFO] [stdout] test compress::huffman::test::basics ... ok
[INFO] [stdout] test core::core_manager::test::basics ... ok
[INFO] [stdout] test buf::test::basics ... ok
[INFO] [stdout] test compress::compress::test::basics ... ok
[INFO] [stdout] test core::core_manager::test::inode ... ok
[INFO] [stderr] error: test failed, to rerun pass `--bin sffs`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/sffs-d64da19504795a4a` (signal: 9, SIGKILL: kill)
[INFO] running `Command { std: "docker" "inspect" "b09aa4e28d54201644b8dd193b2d904a43066a38be28af600cbacbe51f5b3d9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b09aa4e28d54201644b8dd193b2d904a43066a38be28af600cbacbe51f5b3d9e", kill_on_drop: false }`
[INFO] [stdout] b09aa4e28d54201644b8dd193b2d904a43066a38be28af600cbacbe51f5b3d9e
