[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 try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpascalmouret%2Fjfs" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'... [INFO] [stderr] done. [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-7-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/pascalmouret/jfs on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4b3d6c10ababe0996bb80cbd400369f594bb3cda7197025c2f145b96bdb0e9b6 [INFO] running `Command { std: "docker" "start" "-a" "4b3d6c10ababe0996bb80cbd400369f594bb3cda7197025c2f145b96bdb0e9b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4b3d6c10ababe0996bb80cbd400369f594bb3cda7197025c2f145b96bdb0e9b6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4b3d6c10ababe0996bb80cbd400369f594bb3cda7197025c2f145b96bdb0e9b6", kill_on_drop: false }` [INFO] [stdout] 4b3d6c10ababe0996bb80cbd400369f594bb3cda7197025c2f145b96bdb0e9b6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6c0448eb8c19474f457bbe78cbe31287a63d004e5d8aa39035c6ad15fc50089d [INFO] running `Command { std: "docker" "start" "-a" "6c0448eb8c19474f457bbe78cbe31287a63d004e5d8aa39035c6ad15fc50089d", 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 log v0.4.22 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling fuser v0.14.0 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking page_size v0.6.0 [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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: trait `DeviceDriver` is never used [INFO] [stdout] --> src/driver/mod.rs:3:11 [INFO] [stdout] | [INFO] [stdout] 3 | pub trait DeviceDriver { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileDrive` is never constructed [INFO] [stdout] --> src/driver/file_drive.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct FileDrive { [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 `Entry` is never constructed [INFO] [stdout] --> src/ops/directory.rs:11:12 [INFO] [stdout] | [INFO] [stdout] 11 | pub struct Entry { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `EntryList` is never used [INFO] [stdout] --> src/ops/directory.rs:17:10 [INFO] [stdout] | [INFO] [stdout] 17 | pub type EntryList = Vec; [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: enum `InodeType` is never used [INFO] [stdout] --> src/ops/meta.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum InodeType { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `UserId` is never used [INFO] [stdout] --> src/ops/meta.rs:9:10 [INFO] [stdout] | [INFO] [stdout] 9 | pub type UserId = u32; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `GroupId` is never used [INFO] [stdout] --> src/ops/meta.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type GroupId = u32; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Metadata` is never constructed [INFO] [stdout] --> src/ops/meta.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Metadata { [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: type alias `InodeId` is never used [INFO] [stdout] --> src/structure/inode.rs:10:10 [INFO] [stdout] | [INFO] [stdout] 10 | pub type InodeId = u64; [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: struct `SuperBlock` is never constructed [INFO] [stdout] --> src/structure/superblock.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct SuperBlock { [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] [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: type alias `ModeBits` is never used [INFO] [stdout] --> src/util/mode.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | pub type ModeBits = u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PERMISSIONS_MASK` is never used [INFO] [stdout] --> src/util/mode.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const PERMISSIONS_MASK: ModeBits = 0o777; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_DIR_MASK` is never used [INFO] [stdout] --> src/util/mode.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const IS_DIR_MASK: ModeBits = 0o40000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_FILE_MASK` is never used [INFO] [stdout] --> src/util/mode.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const IS_FILE_MASK: ModeBits = 0o100000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ModeBitsHelper` is never used [INFO] [stdout] --> src/util/mode.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait ModeBitsHelper { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ByteSerializable` is never used [INFO] [stdout] --> src/util/serializable.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | pub trait ByteSerializable { [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] error: this type will no longer be must used: Result [INFO] [stdout] --> src/fuse/filesystem.rs:130:14 [INFO] [stdout] | [INFO] [stdout] 130 | &name.try_into().unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fs` (bin "fs") due to 1 previous error; 59 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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] [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: type alias `ModeBits` is never used [INFO] [stdout] --> src/util/mode.rs:1:10 [INFO] [stdout] | [INFO] [stdout] 1 | pub type ModeBits = u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PERMISSIONS_MASK` is never used [INFO] [stdout] --> src/util/mode.rs:3:7 [INFO] [stdout] | [INFO] [stdout] 3 | const PERMISSIONS_MASK: ModeBits = 0o777; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_DIR_MASK` is never used [INFO] [stdout] --> src/util/mode.rs:4:7 [INFO] [stdout] | [INFO] [stdout] 4 | const IS_DIR_MASK: ModeBits = 0o40000; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `IS_FILE_MASK` is never used [INFO] [stdout] --> src/util/mode.rs:5:7 [INFO] [stdout] | [INFO] [stdout] 5 | const IS_FILE_MASK: ModeBits = 0o100000; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ModeBitsHelper` is never used [INFO] [stdout] --> src/util/mode.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | pub trait ModeBitsHelper { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this type will no longer be must used: Result [INFO] [stdout] --> src/fuse/filesystem.rs:130:14 [INFO] [stdout] | [INFO] [stdout] 130 | &name.try_into().unwrap(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: requested on the command line with `-D unmustuse-in-always-ok` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `fs` (bin "fs" test) due to 1 previous error; 22 warnings emitted [INFO] running `Command { std: "docker" "inspect" "6c0448eb8c19474f457bbe78cbe31287a63d004e5d8aa39035c6ad15fc50089d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6c0448eb8c19474f457bbe78cbe31287a63d004e5d8aa39035c6ad15fc50089d", kill_on_drop: false }` [INFO] [stdout] 6c0448eb8c19474f457bbe78cbe31287a63d004e5d8aa39035c6ad15fc50089d