[INFO] cloning repository https://github.com/RyuAlize/sarari [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/RyuAlize/sarari" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuAlize%2Fsarari", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuAlize%2Fsarari'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 46ca01d57d2ebd5d7a2bbc08bb7b0a163db3b880 [INFO] checking RyuAlize/sarari/46ca01d57d2ebd5d7a2bbc08bb7b0a163db3b880 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRyuAlize%2Fsarari" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/RyuAlize/sarari on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/RyuAlize/sarari [INFO] finished tweaking git repo https://github.com/RyuAlize/sarari [INFO] tweaked toml for git repo https://github.com/RyuAlize/sarari written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/RyuAlize/sarari 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7ce919467bd51fb88ddd598950c753e42e80c762087c994a3cd4f0009bd17051 [INFO] running `Command { std: "docker" "start" "-a" "7ce919467bd51fb88ddd598950c753e42e80c762087c994a3cd4f0009bd17051", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7ce919467bd51fb88ddd598950c753e42e80c762087c994a3cd4f0009bd17051", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7ce919467bd51fb88ddd598950c753e42e80c762087c994a3cd4f0009bd17051", kill_on_drop: false }` [INFO] [stdout] 7ce919467bd51fb88ddd598950c753e42e80c762087c994a3cd4f0009bd17051 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 86f25b07f076fcd21fad9472b7c1cac19a07fc8d064155439981c5e48f4cc5b3 [INFO] running `Command { std: "docker" "start" "-a" "86f25b07f076fcd21fad9472b7c1cac19a07fc8d064155439981c5e48f4cc5b3", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.39 [INFO] [stderr] Compiling unicode-ident v1.0.0 [INFO] [stderr] Compiling syn v1.0.96 [INFO] [stderr] Compiling serde_derive v1.0.137 [INFO] [stderr] Compiling serde v1.0.137 [INFO] [stderr] Compiling anyhow v1.0.57 [INFO] [stderr] Compiling quote v1.0.18 [INFO] [stderr] Compiling thiserror-impl v1.0.31 [INFO] [stderr] Checking thiserror v1.0.31 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking sarari v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/server.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::spawn` [INFO] [stdout] --> src/server.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::thread::spawn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> src/error.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TcpStream` and `UdpSocket` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::net::{TcpStream, UdpSocket}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:262:48 [INFO] [stdout] | [INFO] [stdout] 262 | let data_block = vec![0u8; BLOCK_SIZE];; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/virtual_file_sys/block.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FSError` [INFO] [stdout] --> src/client.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::error::{Result, FSError}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `mkdir` should have an upper camel case name [INFO] [stdout] --> src/command.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mkdir, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Mkdir` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ls` should have an upper camel case name [INFO] [stdout] --> src/command.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ls, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Ls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `cd` should have an upper camel case name [INFO] [stdout] --> src/command.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | cd, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Cd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `home` should have an upper camel case name [INFO] [stdout] --> src/command.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | home, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Home` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `rmdir` should have an upper camel case name [INFO] [stdout] --> src/command.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | rmdir, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Rmdir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `create` should have an upper camel case name [INFO] [stdout] --> src/command.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | create, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Create` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `append` should have an upper camel case name [INFO] [stdout] --> src/command.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | append, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `Append` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `cat` should have an upper camel case name [INFO] [stdout] --> src/command.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | cat, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `rm` should have an upper camel case name [INFO] [stdout] --> src/command.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | rm, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Rm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> src/server.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::{Read, Write}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::thread::spawn` [INFO] [stdout] --> src/server.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::thread::spawn; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::net::TcpStream` [INFO] [stdout] --> src/error.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::net::TcpStream; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `TcpStream` and `UdpSocket` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::net::{TcpStream, UdpSocket}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deserialize` and `Serialize` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:5:13 [INFO] [stdout] | [INFO] [stdout] 5 | use serde::{Deserialize, Serialize}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:262:48 [INFO] [stdout] | [INFO] [stdout] 262 | let data_block = vec![0u8; BLOCK_SIZE];; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::sync::Arc` [INFO] [stdout] --> src/virtual_file_sys/block.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FSError` [INFO] [stdout] --> src/client.rs:4:28 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::error::{Result, FSError}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `mkdir` should have an upper camel case name [INFO] [stdout] --> src/command.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | mkdir, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Mkdir` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ls` should have an upper camel case name [INFO] [stdout] --> src/command.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | ls, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Ls` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `cd` should have an upper camel case name [INFO] [stdout] --> src/command.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | cd, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case (notice the capitalization): `Cd` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `home` should have an upper camel case name [INFO] [stdout] --> src/command.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | home, [INFO] [stdout] | ^^^^ help: convert the identifier to upper camel case: `Home` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `rmdir` should have an upper camel case name [INFO] [stdout] --> src/command.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | rmdir, [INFO] [stdout] | ^^^^^ help: convert the identifier to upper camel case: `Rmdir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `create` should have an upper camel case name [INFO] [stdout] --> src/command.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | create, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `Create` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `append` should have an upper camel case name [INFO] [stdout] --> src/command.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | append, [INFO] [stdout] | ^^^^^^ help: convert the identifier to upper camel case: `Append` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `cat` should have an upper camel case name [INFO] [stdout] --> src/command.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | cat, [INFO] [stdout] | ^^^ help: convert the identifier to upper camel case (notice the capitalization): `Cat` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `rm` should have an upper camel case name [INFO] [stdout] --> src/command.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | rm, [INFO] [stdout] | ^^ help: convert the identifier to upper camel case: `Rm` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/server.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | ... Ok(res) => {}, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/server.rs:44:32 [INFO] [stdout] | [INFO] [stdout] 44 | ... Ok(res) => {}, [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut working_dir = self.get_working_dir()?; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | let mut working_dir = self.get_working_dir()?; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_file_size` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | let max_file_size = BLOCK_SIZE * BLOCK_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_file_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:168:21 [INFO] [stdout] | [INFO] [stdout] 168 | if let Some(entry) = working_dir.get_dir_inode_entries() [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | let mut working_dir = self.get_working_dir()?; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | if let Some(entry) = working_dir.get_dir_inode_entries() [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dir` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | let dir = bincode::deserialize::(&buf)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `disk` [INFO] [stdout] --> src/virtual_file_sys/disk.rs:63:13 [INFO] [stdout] | [INFO] [stdout] 63 | let disk = Disk::mount("Disk")?; [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_disk` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stdout` [INFO] [stdout] --> src/client.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | let mut stdout = io::stdout(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stdin` [INFO] [stdout] --> src/client.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let mut stdin = io::stdin(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut stdout = io::stdout(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut stdin = io::stdin(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/client.rs:41:29 [INFO] [stdout] | [INFO] [stdout] 41 | Err(e) => {self.stdout.write_all(b"Command error, use \"--help\" to see help.")?;} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:44:13 [INFO] [stdout] | [INFO] [stdout] 44 | let mut working_dir = self.get_working_dir()?; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/command.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mut cmd; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/command.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mut parameter; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:104:13 [INFO] [stdout] | [INFO] [stdout] 104 | let mut working_dir = self.get_working_dir()?; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `max_file_size` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:166:13 [INFO] [stdout] | [INFO] [stdout] 166 | let max_file_size = BLOCK_SIZE * BLOCK_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_file_size` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:168:21 [INFO] [stdout] | [INFO] [stdout] 168 | if let Some(entry) = working_dir.get_dir_inode_entries() [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | let mut working_dir = self.get_working_dir()?; [INFO] [stdout] | ----^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NFServer` is never constructed [INFO] [stdout] --> src/server.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct NFServer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `bind`, `run`, and `handle_stream` are never used [INFO] [stdout] --> src/server.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl NFServer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 15 | pub fn bind(address: A) -> Result{ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn run(&self) -> Result<()>{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn handle_stream(&self, mut stream: TcpStream) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/server.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn main() ->Result<()>{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `entry` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:189:21 [INFO] [stdout] | [INFO] [stdout] 189 | if let Some(entry) = working_dir.get_dir_inode_entries() [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CmdParseError`, `NotDirError`, `FileNameTooLongError`, and `DirNotEmptyError` are never constructed [INFO] [stdout] --> src/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum FSError { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | CmdParseError, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | NotDirError, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | FileNameTooLongError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | DirNotEmptyError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FSError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `remove_block`, `has_free_block`, and `destroy` are never used [INFO] [stdout] --> src/virtual_file_sys/inode.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl FileInode { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn remove_block(&mut self, wrapped_file_sys: &WrappedFileSys, block: &DataBlock) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn has_free_block(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn destroy(self, wrapped_file_sys: &WrappedFileSys) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write_and_set_raw_block`, `get_num_entries`, `remove_file_entry`, `remove_dir_entry`, and `destroy` are never used [INFO] [stdout] --> src/virtual_file_sys/inode.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl DirInode { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn write_and_set_raw_block(&self, wrapped_file_sys: &WrappedFileSys, tmp_raw: DirBlock) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn get_num_entries(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn remove_file_entry(&mut self, wrapped_file_sys: &WrappedFileSys, block_id: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn remove_dir_entry(&mut self, wrapped_file_sys: &WrappedFileSys, block_id: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn destroy(self, wrapped_file_sys: &WrappedFileSys) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unmount`, `home`, `rmdir`, and `rm` are never used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl FileSys { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn unmount(self){ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn home(&mut self) -> Result<()>{ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn rmdir(&self, name: [u8; MAX_FNAME_SIZE]) -> Result<()>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn rm(&mut self, name: [u8; MAX_FNAME_SIZE]) -> Result<()> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_inner` is never used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 230 | impl WrappedFileSys { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn into_inner(self) -> BasicFileSys { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unmount` is never used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 248 | impl BasicFileSys { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn unmount(self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_FILE_SIZE` is never used [INFO] [stdout] --> src/virtual_file_sys/block.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const MAX_FILE_SIZE: usize = MAX_DATA_BLOCKS * BLOCK_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `destroy` is never used [INFO] [stdout] --> src/virtual_file_sys/block.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl DataBlock { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn destroy(self, wrapped_file_sys: &WrappedFileSys) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_bytes` is never used [INFO] [stdout] --> src/virtual_file_sys/block.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait BlockBinary { [INFO] [stdout] | ----------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 72 | fn from_bytes(block_data: &[u8]) -> Result where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unmount` is never used [INFO] [stdout] --> src/virtual_file_sys/disk.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Disk { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn unmount(self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Shell` is never constructed [INFO] [stdout] --> src/client.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Shell{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `connect`, `run`, and `help` are never used [INFO] [stdout] --> src/client.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Shell { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 13 | pub fn connect(address: A) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn run(mut self) -> Result<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn help(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/client.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn main() -> Result<()>{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_from_string` is never used [INFO] [stdout] --> src/command.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn parse_from_string(buf: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `dir` [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:261:13 [INFO] [stdout] | [INFO] [stdout] 261 | let dir = bincode::deserialize::(&buf)?; [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_dir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/server.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | nfs.run(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 86 | let _ = nfs.run(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/inode.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 151 | let _ = wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/inode.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 308 | wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 308 | let _ = wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stdout` [INFO] [stdout] --> src/client.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | let mut stdout = io::stdout(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stdin` [INFO] [stdout] --> src/client.rs:15:17 [INFO] [stdout] | [INFO] [stdout] 15 | let mut stdin = io::stdin(); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client.rs:14:13 [INFO] [stdout] | [INFO] [stdout] 14 | let mut stdout = io::stdout(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/client.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut stdin = io::stdin(); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `e` [INFO] [stdout] --> src/client.rs:41:29 [INFO] [stdout] | [INFO] [stdout] 41 | Err(e) => {self.stdout.write_all(b"Command error, use \"--help\" to see help.")?;} [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_e` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | disk.read_block(1, &mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 260 | let _ = disk.read_block(1, &mut buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | disk.write_block(i, &data_block); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 264 | let _ = disk.write_block(i, &data_block); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | self.disk.read_block(0,&mut super_block); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 275 | let _ = self.disk.read_block(0,&mut super_block); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:283:25 [INFO] [stdout] | [INFO] [stdout] 283 | self.disk.write_block(0, &super_block); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 283 | let _ = self.disk.write_block(0, &super_block); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/block.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 46 | let _ = wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/command.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | let mut cmd; [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/command.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | let mut parameter; [INFO] [stdout] | ----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 59 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `NFServer` is never constructed [INFO] [stdout] --> src/server.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct NFServer { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `bind`, `run`, and `handle_stream` are never used [INFO] [stdout] --> src/server.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl NFServer { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 15 | pub fn bind(address: A) -> Result{ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn run(&self) -> Result<()>{ [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn handle_stream(&self, mut stream: TcpStream) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/server.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn main() ->Result<()>{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `CmdParseError`, `NotDirError`, `FileNameTooLongError`, and `DirNotEmptyError` are never constructed [INFO] [stdout] --> src/error.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum FSError { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 9 | CmdParseError, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | NotDirError, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | FileNameTooLongError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | DirNotEmptyError, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FSError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `remove_block`, `has_free_block`, and `destroy` are never used [INFO] [stdout] --> src/virtual_file_sys/inode.rs:115:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl FileInode { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn remove_block(&mut self, wrapped_file_sys: &WrappedFileSys, block: &DataBlock) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 142 | pub fn has_free_block(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | pub fn destroy(self, wrapped_file_sys: &WrappedFileSys) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write_and_set_raw_block`, `get_num_entries`, `remove_file_entry`, `remove_dir_entry`, and `destroy` are never used [INFO] [stdout] --> src/virtual_file_sys/inode.rs:223:12 [INFO] [stdout] | [INFO] [stdout] 169 | impl DirInode { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 223 | pub fn write_and_set_raw_block(&self, wrapped_file_sys: &WrappedFileSys, tmp_raw: DirBlock) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 229 | pub fn get_num_entries(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 273 | pub fn remove_file_entry(&mut self, wrapped_file_sys: &WrappedFileSys, block_id: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | pub fn remove_dir_entry(&mut self, wrapped_file_sys: &WrappedFileSys, block_id: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn destroy(self, wrapped_file_sys: &WrappedFileSys) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `unmount`, `home`, `rmdir`, and `rm` are never used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl FileSys { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn unmount(self){ [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | pub fn home(&mut self) -> Result<()>{ [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub fn rmdir(&self, name: [u8; MAX_FNAME_SIZE]) -> Result<()>{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 187 | pub fn rm(&mut self, name: [u8; MAX_FNAME_SIZE]) -> Result<()> { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_inner` is never used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:239:12 [INFO] [stdout] | [INFO] [stdout] 230 | impl WrappedFileSys { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 239 | pub fn into_inner(self) -> BasicFileSys { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unmount` is never used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:269:12 [INFO] [stdout] | [INFO] [stdout] 248 | impl BasicFileSys { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 269 | pub fn unmount(self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_FILE_SIZE` is never used [INFO] [stdout] --> src/virtual_file_sys/block.rs:12:11 [INFO] [stdout] | [INFO] [stdout] 12 | pub const MAX_FILE_SIZE: usize = MAX_DATA_BLOCKS * BLOCK_SIZE; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `destroy` is never used [INFO] [stdout] --> src/virtual_file_sys/block.rs:45:12 [INFO] [stdout] | [INFO] [stdout] 23 | impl DataBlock { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn destroy(self, wrapped_file_sys: &WrappedFileSys) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_bytes` is never used [INFO] [stdout] --> src/virtual_file_sys/block.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait BlockBinary { [INFO] [stdout] | ----------- associated function in this trait [INFO] [stdout] ... [INFO] [stdout] 72 | fn from_bytes(block_data: &[u8]) -> Result where Self: Sized; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `unmount` is never used [INFO] [stdout] --> src/virtual_file_sys/disk.rs:23:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Disk { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn unmount(self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Shell` is never constructed [INFO] [stdout] --> src/client.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct Shell{ [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `connect`, `run`, and `help` are never used [INFO] [stdout] --> src/client.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Shell { [INFO] [stdout] | ---------- associated items in this implementation [INFO] [stdout] 13 | pub fn connect(address: A) -> Result { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn run(mut self) -> Result<()> { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 50 | pub fn help(&self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `main` is never used [INFO] [stdout] --> src/client.rs:58:4 [INFO] [stdout] | [INFO] [stdout] 58 | fn main() -> Result<()>{ [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_from_string` is never used [INFO] [stdout] --> src/command.rs:22:8 [INFO] [stdout] | [INFO] [stdout] 22 | pub fn parse_from_string(buf: String) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/server.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 86 | nfs.run(); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 86 | let _ = nfs.run(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/inode.rs:151:9 [INFO] [stdout] | [INFO] [stdout] 151 | wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 151 | let _ = wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/inode.rs:308:9 [INFO] [stdout] | [INFO] [stdout] 308 | wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 308 | let _ = wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:260:9 [INFO] [stdout] | [INFO] [stdout] 260 | disk.read_block(1, &mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 260 | let _ = disk.read_block(1, &mut buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:264:13 [INFO] [stdout] | [INFO] [stdout] 264 | disk.write_block(i, &data_block); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 264 | let _ = disk.write_block(i, &data_block); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:275:9 [INFO] [stdout] | [INFO] [stdout] 275 | self.disk.read_block(0,&mut super_block); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 275 | let _ = self.disk.read_block(0,&mut super_block); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/file_sys.rs:283:25 [INFO] [stdout] | [INFO] [stdout] 283 | self.disk.write_block(0, &super_block); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 283 | let _ = self.disk.write_block(0, &super_block); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/virtual_file_sys/block.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 46 | let _ = wrapped_file_sys.file_sys().reclaim_block(self.id); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 58 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 13.31s [INFO] running `Command { std: "docker" "inspect" "86f25b07f076fcd21fad9472b7c1cac19a07fc8d064155439981c5e48f4cc5b3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "86f25b07f076fcd21fad9472b7c1cac19a07fc8d064155439981c5e48f4cc5b3", kill_on_drop: false }` [INFO] [stdout] 86f25b07f076fcd21fad9472b7c1cac19a07fc8d064155439981c5e48f4cc5b3