[INFO] cloning repository https://github.com/pascalmouret/jfs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pascalmouret/jfs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpascalmouret%2Fjfs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpascalmouret%2Fjfs'... [INFO] [stderr] /workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpascalmouret%2Fjfs/branches/: No space left on device [WARN] Retrying crate fetch in 3 seconds (attempt 1) [INFO] cloning repository https://github.com/pascalmouret/jfs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/pascalmouret/jfs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpascalmouret%2Fjfs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpascalmouret%2Fjfs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 76a5fef3ece15fe9ace166d9158033506108456d [INFO] checking pascalmouret/jfs against master#d2eadb7a94ef8c9deb5137695df33cd1fc5aee92 for pr-137268 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpascalmouret%2Fjfs" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/pascalmouret/jfs on toolchain d2eadb7a94ef8c9deb5137695df33cd1fc5aee92 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/pascalmouret/jfs [INFO] finished tweaking git repo https://github.com/pascalmouret/jfs [INFO] tweaked toml for git repo https://github.com/pascalmouret/jfs written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/pascalmouret/jfs 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" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fuser v0.14.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 31eada3c30fb73ae6d697a25d6b7f7cae76999e7b2bb85c6527e0edcef7ee54c [INFO] running `Command { std: "docker" "start" "-a" "31eada3c30fb73ae6d697a25d6b7f7cae76999e7b2bb85c6527e0edcef7ee54c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "31eada3c30fb73ae6d697a25d6b7f7cae76999e7b2bb85c6527e0edcef7ee54c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31eada3c30fb73ae6d697a25d6b7f7cae76999e7b2bb85c6527e0edcef7ee54c", kill_on_drop: false }` [INFO] [stdout] 31eada3c30fb73ae6d697a25d6b7f7cae76999e7b2bb85c6527e0edcef7ee54c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:b0b074c097205a61b89e8ad263052f976b2b332c4dc5f02aef1fe52501660d6e" "/opt/rustwide/cargo-home/bin/cargo" "+d2eadb7a94ef8c9deb5137695df33cd1fc5aee92" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 86f0b7dd4cdf31dc3885c7bb22b13699ea40af46b9103b51589717bb87cb56e9 [INFO] running `Command { std: "docker" "start" "-a" "86f0b7dd4cdf31dc3885c7bb22b13699ea40af46b9103b51589717bb87cb56e9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling fuser v0.14.0 [INFO] [stderr] Checking page_size v0.6.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking fs v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `DIRECT_POINTERS` and `DirectPointers` [INFO] [stdout] --> src/structure/inode_table.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | BlockPointer, DirectPointers, InodePointer, BLOCKS_PER_INODE_MAP, DIRECT_POINTERS, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DIRECT_POINTERS` and `DirectPointers` [INFO] [stdout] --> src/structure/inode_table.rs:2:19 [INFO] [stdout] | [INFO] [stdout] 2 | BlockPointer, DirectPointers, InodePointer, BLOCKS_PER_INODE_MAP, DIRECT_POINTERS, [INFO] [stdout] | ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/structure/inode.rs:94:35 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn append_data(&mut self, data: Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `SUPERBLOCK_SIZE` is never used [INFO] [stdout] --> src/consts.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | pub(crate) const SUPERBLOCK_SIZE: usize = 1024; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `BLOCKS_PER_INODE_MAP` is never used [INFO] [stdout] --> src/consts.rs:2:18 [INFO] [stdout] | [INFO] [stdout] 2 | pub(crate) const BLOCKS_PER_INODE_MAP: usize = 10240; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DIRECT_POINTERS` is never used [INFO] [stdout] --> src/consts.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) const DIRECT_POINTERS: usize = 12; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FILE_NAME_LENGTH` is never used [INFO] [stdout] --> src/consts.rs:4:18 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) const FILE_NAME_LENGTH: usize = 255; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `BlockPointer` is never used [INFO] [stdout] --> src/consts.rs:6:10 [INFO] [stdout] | [INFO] [stdout] 6 | pub type BlockPointer = u64; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `InodePointer` is never used [INFO] [stdout] --> src/consts.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub type InodePointer = u64; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `DirectPointers` is never used [INFO] [stdout] --> src/consts.rs:8:10 [INFO] [stdout] | [INFO] [stdout] 8 | pub type DirectPointers = [BlockPointer; DIRECT_POINTERS]; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_sector_count`, `get_sector_size`, `read_sector`, and `write_sector` are never used [INFO] [stdout] --> src/driver/mod.rs:4:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait DeviceDriver { [INFO] [stdout] | ------------ methods in this trait [INFO] [stdout] 4 | fn get_sector_count(&self) -> u64; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 5 | fn get_sector_size(&self) -> usize; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | fn read_sector(&self, index: u64) -> Vec; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 7 | fn write_sector(&mut self, index: u64, data: &Vec); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `open`, and `open_path` are never used [INFO] [stdout] --> src/driver/file_drive.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl FileDrive { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] 12 | pub fn new(name: &str, bytes: u64, sector_size: usize) -> FileDrive { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn open(file: File, sector_size: usize) -> FileDrive { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn open_path(path: &str, sector_size: usize) -> FileDrive { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TTL` is never used [INFO] [stdout] --> src/fuse/filesystem.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const TTL: Duration = Duration::new(100, 0); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FuseDriver` is never constructed [INFO] [stdout] --> src/fuse/filesystem.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct FuseDriver { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_fs_ref`, `get_mut_fs_ref`, `inode_to_fileattr`, `fileattr_to_metadata`, and `time_or_now_to_system_time` are never used [INFO] [stdout] --> src/fuse/filesystem.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 149 | impl FuseDriver { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 150 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn get_fs_ref(&self) -> &JourneyFS { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn get_mut_fs_ref(&mut self) -> &mut JourneyFS { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn inode_to_fileattr(&self, inode: Inode) -> FileAttr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | fn fileattr_to_metadata(&self, attr: FileAttr) -> Metadata { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | fn time_or_now_to_system_time(time_or_now: TimeOrNow) -> SystemTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IO` is never constructed [INFO] [stdout] --> src/io/mod.rs:5:19 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) struct IO { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/io/mod.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 11 | impl IO { [INFO] [stdout] | ------- associated items in this implementation [INFO] [stdout] 12 | pub(crate) fn new(drive: D, block_size: usize) -> IO { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub(crate) fn get_block_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub(crate) fn get_block_count(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub(crate) fn set_block_size(&mut self, block_size: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub(crate) fn get_sector_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub(crate) fn get_sector_count(&self) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub(crate) fn write_block(&mut self, index: BlockPointer, block: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub(crate) fn read_block(&self, index: BlockPointer) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JourneyFS` is never constructed [INFO] [stdout] --> src/ops/mod.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct JourneyFS { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_block_size`, `mkdir`, `get_inode`, and `write_inode` are never used [INFO] [stdout] --> src/ops/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl JourneyFS { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 20 | // TODO: "new" should probably not mount existing filesystems [INFO] [stdout] 21 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn get_block_size(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn mkdir( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_inode(&self, id: InodeId) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn write_inode(&mut self, inode: &mut Inode) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Directory` is never constructed [INFO] [stdout] --> src/ops/directory.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 51 | pub struct Directory { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_inode`, `get_entries`, `add_entry`, `add_directory`, and `add_file` are never used [INFO] [stdout] --> src/ops/directory.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Directory { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 56 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn from_inode(inode: Inode) -> Directory { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | pub fn get_entries(&self, structure: &Structure) -> EntryList { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | fn add_entry(&mut self, structure: &mut Structure, name: &OsString, id: InodeId) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn add_directory( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn add_file( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `File` is never constructed [INFO] [stdout] --> src/ops/file.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct File { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_inode`, `set_data`, and `get_data` are never used [INFO] [stdout] --> src/ops/file.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl File { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(structure: &mut Structure, user_id: UserId, group_id: GroupId, permissions: u16) -> File { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn from_inode(inode: Inode) -> File { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn set_data(&mut self, structure: &mut Structure, data: Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_data(&self, structure: &Structure) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/ops/meta.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Metadata { [INFO] [stdout] | ------------- associated function in this implementation [INFO] [stdout] 27 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Structure` is never constructed [INFO] [stdout] --> src/structure/mod.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct Structure { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/structure/mod.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Structure { [INFO] [stdout] | -------------------------------------------------------- associated items in this implementation [INFO] [stdout] 23 | pub fn is_initialized(io: &IO) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn new(mut io: IO, block_size: usize) -> Structure { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn mount(mut io: IO) -> Structure { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn set_root_inode(&mut self, inode: &mut Inode) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn get_root_inode(&self) -> Inode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn create_inode(&mut self, meta: META) -> Inode { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn read_inode(&self, id: InodeId) -> Inode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn write_inode(&mut self, inode: &mut Inode) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 138 | pub fn get_block_size(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn allocate_block(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn write_block(&mut self, index: BlockPointer, block: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn read_block(&self, index: BlockPointer) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BlockMap` is never constructed [INFO] [stdout] --> src/structure/blockmap.rs:4:12 [INFO] [stdout] | [INFO] [stdout] 4 | pub struct BlockMap { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/structure/blockmap.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 10 | impl BlockMap { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 11 | pub fn new(first_block: BlockPointer, block_count: u64, block_size: usize) -> BlockMap { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn read(io: &IO, index: BlockPointer) -> BlockMap { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | fn create_data(block_count: u64, block_size: usize) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn write_part(&self, io: &mut IO, including_index: BlockPointer) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn write_full(&self, io: &mut IO) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn allocate(&mut self, io: &mut IO) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | fn is_free(&self, index: BlockPointer) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | fn is_used(&self, index: BlockPointer) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | fn mark_used_mem(&mut self, index: BlockPointer) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub(crate) fn mark_used(&mut self, io: &mut IO, index: BlockPointer) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | fn mark_free_mem(&mut self, index: BlockPointer) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub(crate) fn mark_free(&mut self, io: &mut IO, index: BlockPointer) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DATA_SIZE` is never used [INFO] [stdout] --> src/structure/inode.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const DATA_SIZE: usize = 96; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `NULL_POINTER` is never used [INFO] [stdout] --> src/structure/inode.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const NULL_POINTER: BlockPointer = 0; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Inode` is never constructed [INFO] [stdout] --> src/structure/inode.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct Inode { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/structure/inode.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Inode { [INFO] [stdout] | ---------------------------------------------------- associated items in this implementation [INFO] [stdout] 23 | pub fn new(meta: META) -> Inode { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn set_id(&mut self, id: InodeId) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn to_bytes(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn from_bytes(id: InodeId, bytes: &Vec, block_size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn size_on_disk() -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn set_data(&mut self, structure: &mut Structure, data: Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn get_data(&self, structure: &Structure) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn append_data(&mut self, data: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 98 | fn count_used_pointers(pointers: &DirectPointers) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | fn calculate_allocated_size(used_pointers: usize, block_size: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn bytes_to_pointers(data: &[u8]) -> DirectPointers { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn pointers_to_bytes(pointers: DirectPointers) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 135 | fn ensure_size(&mut self, structure: &mut Structure, new_size: u64) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 164 | fn allocate_block(&mut self, structure: &mut Structure) -> BlockPointer { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn deallocate_block(&mut self, structure: &mut Structure) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InodeTable` is never constructed [INFO] [stdout] --> src/structure/inode_table.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct InodeTable { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/structure/inode_table.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 18 | impl InodeTable { [INFO] [stdout] | --------------------------------------------------------- associated items in this implementation [INFO] [stdout] 19 | pub fn create(index: BlockPointer, io: &mut IO) -> InodeTable { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 42 | pub fn read(io: &IO, index: BlockPointer, inode_count: u64) -> InodeTable { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 61 | pub fn read_inode(&self, io: &IO, index: InodePointer) -> Inode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn write_inode(&mut self, io: &mut IO, inode: &mut Inode) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn inode_block(&self, index: InodePointer, block_size: usize) -> BlockPointer { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | fn inode_offset(index: InodePointer, block_size: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | fn allocate(&mut self, io: &mut IO) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | fn mark_used_mem(&mut self, index: InodePointer) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | fn mark_used(&mut self, io: &mut IO, index: InodePointer) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 125 | fn mark_free_mem(&mut self, index: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn mark_free(&mut self, io: &mut IO, index: InodePointer) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 136 | fn calculate_inode_count(block_count: u64, block_size: usize) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | fn read_map(io: &IO, index: BlockPointer, inode_count: u64) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | fn write_map(&self, io: &mut IO) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAGIC` is never used [INFO] [stdout] --> src/structure/superblock.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const MAGIC: u32 = 0xdeadbeef; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/structure/superblock.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl SuperBlock { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new(block_size: usize, block_count: u64) -> SuperBlock { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn set_inode_count(&mut self, io: &mut IO, inode_count: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn set_root_inode(&mut self, io: &mut IO, root_inode: InodeId) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn read(io: &IO) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | fn from_buffer(buffer: &Vec) -> SuperBlock { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 79 | fn to_buffer(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn write(&self, io: &mut IO) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ErrorNum` is never used [INFO] [stdout] --> src/util/error.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type ErrorNum = c_int; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/util/error.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, 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/error.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Error { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 12 | pub fn new(message: &str, error_num: Option) -> Error { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `KILO_BYTE` is never used [INFO] [stdout] --> src/util/format.rs:1:7 [INFO] [stdout] | [INFO] [stdout] 1 | const KILO_BYTE: u64 = 1024; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MEGA_BYTE` is never used [INFO] [stdout] --> src/util/format.rs:2:7 [INFO] [stdout] | [INFO] [stdout] 2 | const MEGA_BYTE: u64 = KILO_BYTE * 1024; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `GIGA_BYTE` is never used [INFO] [stdout] --> src/util/format.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const GIGA_BYTE: u64 = MEGA_BYTE * 1024; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TERRA_BYTE` is never used [INFO] [stdout] --> src/util/format.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const TERRA_BYTE: u64 = GIGA_BYTE * 1024; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `pretty_size_from_bytes` is never used [INFO] [stdout] --> src/util/format.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn pretty_size_from_bytes(bytes: u64) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_permissions`, `is_directory`, and `is_file` are never used [INFO] [stdout] --> src/util/mode.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait ModeBitsHelper { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] 8 | fn get_permissions(&self) -> u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | fn is_directory(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | fn is_file(&self) -> bool; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `KnownSize` is never used [INFO] [stdout] --> src/util/serializable.rs:6:11 [INFO] [stdout] | [INFO] [stdout] 6 | pub trait KnownSize: ByteSerializable { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `data` [INFO] [stdout] --> src/structure/inode.rs:94:35 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn append_data(&mut self, data: Vec) { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_data` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `open` and `open_path` are never used [INFO] [stdout] --> src/driver/file_drive.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl FileDrive { [INFO] [stdout] | -------------- associated functions in this implementation [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn open(file: File, sector_size: usize) -> FileDrive { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn open_path(path: &str, sector_size: usize) -> FileDrive { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TTL` is never used [INFO] [stdout] --> src/fuse/filesystem.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const TTL: Duration = Duration::new(100, 0); [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FuseDriver` is never constructed [INFO] [stdout] --> src/fuse/filesystem.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | struct FuseDriver { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_fs_ref`, `get_mut_fs_ref`, `inode_to_fileattr`, `fileattr_to_metadata`, and `time_or_now_to_system_time` are never used [INFO] [stdout] --> src/fuse/filesystem.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 149 | impl FuseDriver { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 150 | fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn get_fs_ref(&self) -> &JourneyFS { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | fn get_mut_fs_ref(&mut self) -> &mut JourneyFS { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 177 | fn inode_to_fileattr(&self, inode: Inode) -> FileAttr { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 202 | fn fileattr_to_metadata(&self, attr: FileAttr) -> Metadata { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | fn time_or_now_to_system_time(time_or_now: TimeOrNow) -> SystemTime { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `JourneyFS` is never constructed [INFO] [stdout] --> src/ops/mod.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct JourneyFS { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_block_size`, `mkdir`, `get_inode`, and `write_inode` are never used [INFO] [stdout] --> src/ops/mod.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl JourneyFS { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 20 | // TODO: "new" should probably not mount existing filesystems [INFO] [stdout] 21 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn get_block_size(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn mkdir( [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn get_inode(&self, id: InodeId) -> Result, Error> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn write_inode(&mut self, inode: &mut Inode) -> Result<(), Error> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `from_inode`, `add_directory`, and `add_file` are never used [INFO] [stdout] --> src/ops/directory.rs:67:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl Directory { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn from_inode(inode: Inode) -> Directory { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 89 | pub fn add_directory( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn add_file( [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `File` is never constructed [INFO] [stdout] --> src/ops/file.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct File { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `from_inode`, `set_data`, and `get_data` are never used [INFO] [stdout] --> src/ops/file.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl File { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(structure: &mut Structure, user_id: UserId, group_id: GroupId, permissions: u16) -> File { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn from_inode(inode: Inode) -> File { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn set_data(&mut self, structure: &mut Structure, data: Vec) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn get_data(&self, structure: &Structure) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/structure/mod.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Structure { [INFO] [stdout] | -------------------------------------------------------- associated items in this implementation [INFO] [stdout] 23 | pub fn is_initialized(io: &IO) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn mount(mut io: IO) -> Structure { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn set_root_inode(&mut self, inode: &mut Inode) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn get_root_inode(&self) -> Inode { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 130 | pub fn read_inode(&self, id: InodeId) -> Inode { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 134 | pub fn write_inode(&mut self, inode: &mut Inode) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 146 | pub fn write_block(&mut self, index: BlockPointer, block: &Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `append_data` is never used [INFO] [stdout] --> src/structure/inode.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 22 | impl Inode { [INFO] [stdout] | ---------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn append_data(&mut self, data: Vec) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `mark_free_mem` and `mark_free` are never used [INFO] [stdout] --> src/structure/inode_table.rs:125:8 [INFO] [stdout] | [INFO] [stdout] 18 | impl InodeTable { [INFO] [stdout] | --------------------------------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 125 | fn mark_free_mem(&mut self, index: u64) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | fn mark_free(&mut self, io: &mut IO, index: InodePointer) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ErrorNum` is never used [INFO] [stdout] --> src/util/error.rs:3:6 [INFO] [stdout] | [INFO] [stdout] 3 | type ErrorNum = c_int; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Error` is never constructed [INFO] [stdout] --> src/util/error.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Error { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Error` has a derived impl for the trait `Debug`, 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/error.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 11 | impl Error { [INFO] [stdout] | ---------- associated function in this implementation [INFO] [stdout] 12 | pub fn new(message: &str, error_num: Option) -> Error { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_permissions`, `is_directory`, and `is_file` are never used [INFO] [stdout] --> src/util/mode.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait ModeBitsHelper { [INFO] [stdout] | -------------- methods in this trait [INFO] [stdout] 8 | fn get_permissions(&self) -> u16; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | fn is_directory(&self) -> bool; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 10 | fn is_file(&self) -> bool; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.88s [INFO] running `Command { std: "docker" "inspect" "86f0b7dd4cdf31dc3885c7bb22b13699ea40af46b9103b51589717bb87cb56e9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86f0b7dd4cdf31dc3885c7bb22b13699ea40af46b9103b51589717bb87cb56e9", kill_on_drop: false }` [INFO] [stdout] 86f0b7dd4cdf31dc3885c7bb22b13699ea40af46b9103b51589717bb87cb56e9