[INFO] cloning repository https://github.com/manhtai/rust-plan [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/manhtai/rust-plan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanhtai%2Frust-plan", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanhtai%2Frust-plan'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 2dcc42449c2703d244c1b682a2bb774e281511ed [INFO] checking manhtai/rust-plan against master#af4a5a13a15fa0c60e06321077ef452f769b42fd for pr-122960-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmanhtai%2Frust-plan" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/manhtai/rust-plan on toolchain af4a5a13a15fa0c60e06321077ef452f769b42fd [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/manhtai/rust-plan [INFO] finished tweaking git repo https://github.com/manhtai/rust-plan [INFO] tweaked toml for git repo https://github.com/manhtai/rust-plan written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/manhtai/rust-plan 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" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded c2-chacha v0.2.3 [INFO] [stderr] Downloaded bincode v1.2.0 [INFO] [stderr] Downloaded serde_bytes v0.11.2 [INFO] [stderr] Downloaded proc-macro2 v1.0.6 [INFO] [stderr] Downloaded failure_derive v0.1.6 [INFO] [stderr] Downloaded crossbeam-queue v0.2.0 [INFO] [stderr] Downloaded synstructure v0.12.1 [INFO] [stderr] Downloaded ryu v1.0.2 [INFO] [stderr] Downloaded panic-control v0.1.4 [INFO] [stderr] Downloaded crossbeam-utils v0.7.0 [INFO] [stderr] Downloaded tinytemplate v1.0.2 [INFO] [stderr] Downloaded crossbeam-channel v0.4.0 [INFO] [stderr] Downloaded backtrace v0.3.40 [INFO] [stderr] Downloaded backtrace-sys v0.1.32 [INFO] [stderr] Downloaded crossbeam-epoch v0.8.0 [INFO] [stderr] Downloaded serde_json v1.0.41 [INFO] [stderr] Downloaded sled v0.29.2 [INFO] [stderr] Downloaded rand v0.7.2 [INFO] [stderr] Downloaded failure v0.1.6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 61d81187d83680bc50181092dfed0cb8230cf0ba040e1ed8349d7f68fed6b4a4 [INFO] running `Command { std: "docker" "start" "-a" "61d81187d83680bc50181092dfed0cb8230cf0ba040e1ed8349d7f68fed6b4a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "61d81187d83680bc50181092dfed0cb8230cf0ba040e1ed8349d7f68fed6b4a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "61d81187d83680bc50181092dfed0cb8230cf0ba040e1ed8349d7f68fed6b4a4", kill_on_drop: false }` [INFO] [stdout] 61d81187d83680bc50181092dfed0cb8230cf0ba040e1ed8349d7f68fed6b4a4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+af4a5a13a15fa0c60e06321077ef452f769b42fd" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ccd4765369ea327cb68a478aee4d01513c22a05dc15f8c1458e32d624afe0f54 [INFO] running `Command { std: "docker" "start" "-a" "ccd4765369ea327cb68a478aee4d01513c22a05dc15f8c1458e32d624afe0f54", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.65 [INFO] [stderr] Compiling autocfg v0.1.7 [INFO] [stderr] Compiling proc-macro2 v1.0.6 [INFO] [stderr] Compiling syn v1.0.5 [INFO] [stderr] Compiling serde v1.0.101 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling byteorder v1.3.2 [INFO] [stderr] Checking scopeguard v1.0.0 [INFO] [stderr] Compiling arrayvec v0.4.12 [INFO] [stderr] Checking nodrop v0.1.14 [INFO] [stderr] Compiling ryu v1.0.2 [INFO] [stderr] Checking rand_core v0.4.2 [INFO] [stderr] Compiling semver v0.9.0 [INFO] [stderr] Checking crossbeam-utils v0.6.6 [INFO] [stderr] Checking itoa v0.4.4 [INFO] [stderr] Compiling log v0.4.8 [INFO] [stderr] Compiling cc v1.0.46 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking regex-syntax v0.6.12 [INFO] [stderr] Checking rand_core v0.3.1 [INFO] [stderr] Compiling rustc_version v0.2.3 [INFO] [stderr] Compiling rayon-core v1.6.0 [INFO] [stderr] Checking either v1.5.3 [INFO] [stderr] Checking unicode-width v0.1.6 [INFO] [stderr] Compiling crossbeam-utils v0.7.0 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Checking textwrap v0.11.0 [INFO] [stderr] Compiling crossbeam-epoch v0.8.0 [INFO] [stderr] Compiling bincode v1.2.0 [INFO] [stderr] Checking crossbeam-queue v0.1.2 [INFO] [stderr] Compiling syn v0.15.44 [INFO] [stderr] Compiling memoffset v0.5.1 [INFO] [stderr] Compiling parking_lot_core v0.6.2 [INFO] [stderr] Compiling parking_lot v0.9.0 [INFO] [stderr] Checking smallvec v0.6.13 [INFO] [stderr] Compiling unicode-segmentation v1.3.0 [INFO] [stderr] Compiling crc32fast v1.2.0 [INFO] [stderr] Compiling getrandom v0.1.12 [INFO] [stderr] Compiling failure_derive v0.1.6 [INFO] [stderr] Checking lock_api v0.3.1 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Checking rustc-demangle v0.1.16 [INFO] [stderr] Compiling quote v1.0.2 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Checking humantime v1.3.0 [INFO] [stderr] Checking atty v0.2.13 [INFO] [stderr] Checking num_cpus v1.10.1 [INFO] [stderr] Checking crossbeam-epoch v0.7.2 [INFO] [stderr] Checking clap v2.33.0 [INFO] [stderr] Checking fs2 v0.4.3 [INFO] [stderr] Checking crossbeam-queue v0.2.0 [INFO] [stderr] Checking crossbeam-channel v0.4.0 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking crossbeam-channel v0.3.9 [INFO] [stderr] Checking aho-corasick v0.7.6 [INFO] [stderr] Checking crossbeam-deque v0.7.1 [INFO] [stderr] Checking termcolor v1.0.5 [INFO] [stderr] Checking ppv-lite86 v0.2.6 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking regex-automata v0.1.8 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling escargot v0.4.0 [INFO] [stderr] Compiling backtrace-sys v0.1.32 [INFO] [stderr] Checking predicates-core v1.0.0 [INFO] [stderr] Checking csv-core v0.1.6 [INFO] [stderr] Checking rand_os v0.1.3 [INFO] [stderr] Checking c2-chacha v0.2.3 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking crossbeam v0.7.3 [INFO] [stderr] Checking cast v0.2.2 [INFO] [stderr] Checking treeline v0.1.0 [INFO] [stderr] Checking same-file v1.0.5 [INFO] [stderr] Checking rayon v1.2.0 [INFO] [stderr] Checking rand_chacha v0.2.1 [INFO] [stderr] Checking difference v2.0.0 [INFO] [stderr] Checking normalize-line-endings v0.2.2 [INFO] [stderr] Checking walkdir v2.2.9 [INFO] [stderr] Checking rand v0.7.2 [INFO] [stderr] Checking predicates-tree v1.0.0 [INFO] [stderr] Checking rand_xoshiro v0.1.0 [INFO] [stderr] Checking rand_isaac v0.1.1 [INFO] [stderr] Checking rand_hc v0.1.0 [INFO] [stderr] Checking rand_xorshift v0.1.1 [INFO] [stderr] Checking rand_jitter v0.1.4 [INFO] [stderr] Checking remove_dir_all v0.5.2 [INFO] [stderr] Checking float-cmp v0.4.0 [INFO] [stderr] Checking panic-control v0.1.4 [INFO] [stderr] Checking bb v0.1.0 (/opt/rustwide/workdir/bb-4) [INFO] [stderr] Checking regex v1.3.1 [INFO] [stderr] Checking criterion-plot v0.3.1 [INFO] [stderr] Checking backtrace v0.3.40 [INFO] [stderr] Compiling structopt-derive v0.2.18 [INFO] [stderr] Checking tempfile v3.1.0 [INFO] [stderr] Compiling synstructure v0.12.1 [INFO] [stderr] Checking env_logger v0.7.1 [INFO] [stderr] Checking predicates v1.0.1 [INFO] [stderr] Compiling serde_derive v1.0.101 [INFO] [stderr] Checking structopt v0.2.18 [INFO] [stderr] Checking failure v0.1.6 [INFO] [stderr] Checking serde_json v1.0.41 [INFO] [stderr] Checking serde_bytes v0.11.2 [INFO] [stderr] Checking bstr v0.2.8 [INFO] [stderr] Checking sled v0.29.2 [INFO] [stderr] Checking csv v1.1.1 [INFO] [stderr] Checking tinytemplate v1.0.2 [INFO] [stderr] Checking criterion v0.2.11 [INFO] [stderr] Checking assert_cmd v0.11.1 [INFO] [stderr] Checking kvs v0.1.0 (/opt/rustwide/workdir/project-4) [INFO] [stdout] warning: unused variable: `threads` [INFO] [stdout] --> project-4/src/thread_pool/naive.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | fn new(threads: u32) -> Result where Self: Sized { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threads` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `threads` [INFO] [stdout] --> project-4/src/thread_pool/naive.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | fn new(threads: u32) -> Result where Self: Sized { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threads` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `threads` [INFO] [stdout] --> project-4/src/thread_pool/rayon.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | fn new(threads: u32) -> Result where Self: Sized { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `threads` [INFO] [stdout] --> project-4/src/thread_pool/rayon.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | fn new(threads: u32) -> Result where Self: Sized { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `threads` [INFO] [stdout] --> project-4/src/thread_pool/shared_queue.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | fn new(threads: u32) -> Result where Self: Sized { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `threads` [INFO] [stdout] --> project-4/src/thread_pool/shared_queue.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | fn new(threads: u32) -> Result where Self: Sized { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threads` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> project-4/src/lib.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | Err(err) => Err(KvError::KeyNotFound), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> project-4/src/lib.rs:244:17 [INFO] [stdout] | [INFO] [stdout] 244 | Err(err) => Err(KvError::KeyNotFound), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clone` is never used [INFO] [stdout] --> project-4/src/lib.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 79 | impl KvStore { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 169 | fn clone(&self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `clone` is never used [INFO] [stdout] --> project-4/src/lib.rs:169:8 [INFO] [stdout] | [INFO] [stdout] 79 | impl KvStore { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 169 | fn clone(&self) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> project-4/src/lib.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | store.set("".to_owned(), "".to_owned()); [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] 205 | let _ = store.set("".to_owned(), "".to_owned()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> project-4/src/lib.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | file.read(&mut first_bytes); [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] 211 | let _ = file.read(&mut first_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> project-4/src/lib.rs:222:25 [INFO] [stdout] | [INFO] [stdout] 222 | KvStore::load(&mut store, &cmd); [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] 222 | let _ = KvStore::load(&mut store, &cmd); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> project-4/src/lib.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | store.set("".to_owned(), "".to_owned()); [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] 205 | let _ = store.set("".to_owned(), "".to_owned()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> project-4/src/lib.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | &self.storage.insert(key.into_bytes(), value.into_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 235 | let _ = &self.storage.insert(key.into_bytes(), value.into_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> project-4/src/lib.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | file.read(&mut first_bytes); [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] 211 | let _ = file.read(&mut first_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> project-4/src/lib.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | &self.storage.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 236 | let _ = &self.storage.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> project-4/src/lib.rs:251:17 [INFO] [stdout] | [INFO] [stdout] 251 | &self.storage.remove(key.into_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 251 | let _ = &self.storage.remove(key.into_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> project-4/src/lib.rs:222:25 [INFO] [stdout] | [INFO] [stdout] 222 | KvStore::load(&mut store, &cmd); [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] 222 | let _ = KvStore::load(&mut store, &cmd); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> project-4/src/lib.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | &self.storage.insert(key.into_bytes(), value.into_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 235 | let _ = &self.storage.insert(key.into_bytes(), value.into_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> project-4/src/lib.rs:252:17 [INFO] [stdout] | [INFO] [stdout] 252 | &self.storage.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 252 | let _ = &self.storage.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> project-4/src/lib.rs:236:9 [INFO] [stdout] | [INFO] [stdout] 236 | &self.storage.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 236 | let _ = &self.storage.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> project-4/src/lib.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | file.read(&mut first_bytes); [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] 268 | let _ = file.read(&mut first_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> project-4/src/lib.rs:251:17 [INFO] [stdout] | [INFO] [stdout] 251 | &self.storage.remove(key.into_bytes()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 251 | let _ = &self.storage.remove(key.into_bytes()); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> project-4/src/lib.rs:252:17 [INFO] [stdout] | [INFO] [stdout] 252 | &self.storage.flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 252 | let _ = &self.storage.flush(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> project-4/src/lib.rs:268:13 [INFO] [stdout] | [INFO] [stdout] 268 | file.read(&mut first_bytes); [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] 268 | let _ = file.read(&mut first_bytes); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> project-4/src/bin/kvs-server.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{Read, Write, BufReader, BufRead}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> project-4/src/bin/kvs-server.rs:6:15 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{Read, Write, BufReader, BufRead}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> project-4/src/bin/kvs-client.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{Read, Write, BufReader, BufRead}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> project-4/src/bin/kvs-client.rs:4:15 [INFO] [stdout] | [INFO] [stdout] 4 | use std::io::{Read, Write, BufReader, BufRead}; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> project-4/src/bin/kvs-server.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let mut store: &mut dyn KvsEngine; [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: 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> project-4/src/bin/kvs-server.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | let mut stream = stream.unwrap(); [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] --> project-4/src/bin/kvs-server.rs:67:9 [INFO] [stdout] | [INFO] [stdout] 67 | let mut store: &mut dyn KvsEngine; [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] --> project-4/src/bin/kvs-server.rs:83:13 [INFO] [stdout] | [INFO] [stdout] 83 | let mut stream = stream.unwrap(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> project-4/src/bin/kvs-server.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | reader.read_line(&mut buf); [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] 13 | let _ = reader.read_line(&mut buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> project-4/src/bin/kvs-server.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | exchange(stream, store); [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] 84 | let _ = exchange(stream, store); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> project-4/src/bin/kvs-server.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | reader.read_line(&mut buf); [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] 13 | let _ = reader.read_line(&mut buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> project-4/src/bin/kvs-server.rs:84:9 [INFO] [stdout] | [INFO] [stdout] 84 | exchange(stream, store); [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] 84 | let _ = exchange(stream, store); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `clone` is private [INFO] [stdout] --> project-4/tests/kv_store.rs:136:27 [INFO] [stdout] | [INFO] [stdout] 136 | let store = store.clone(); [INFO] [stdout] | ^^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/project-4/src/lib.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | fn clone(&self) -> Self { [INFO] [stdout] | ----------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `clone` is private [INFO] [stdout] --> project-4/tests/kv_store.rs:173:27 [INFO] [stdout] | [INFO] [stdout] 173 | let store = store.clone(); [INFO] [stdout] | ^^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/project-4/src/lib.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | fn clone(&self) -> Self { [INFO] [stdout] | ----------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0624]: method `clone` is private [INFO] [stdout] --> project-4/tests/kv_store.rs:194:27 [INFO] [stdout] | [INFO] [stdout] 194 | let store = store.clone(); [INFO] [stdout] | ^^^^^ private method [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/workdir/project-4/src/lib.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | fn clone(&self) -> Self { [INFO] [stdout] | ----------------------- private method defined here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:11:9 [INFO] [stdout] | [INFO] [stdout] 11 | let store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | ^^^^^ not mutable [INFO] [stdout] 12 | [INFO] [stdout] 13 | store.set("key1".to_owned(), "value1".to_owned())?; [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 14 | store.set("key2".to_owned(), "value2".to_owned())?; [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 15 | [INFO] [stdout] 16 | assert_eq!(store.get("key1".to_owned())?, Some("value1".to_owned())); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 17 | assert_eq!(store.get("key2".to_owned())?, Some("value2".to_owned())); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 11 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | let store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | ^^^^^ not mutable [INFO] [stdout] 22 | assert_eq!(store.get("key1".to_owned())?, Some("value1".to_owned())); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 23 | assert_eq!(store.get("key2".to_owned())?, Some("value2".to_owned())); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 21 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | ^^^^^ not mutable [INFO] [stdout] 33 | [INFO] [stdout] 34 | store.set("key1".to_owned(), "value1".to_owned())?; [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 35 | assert_eq!(store.get("key1".to_owned())?, Some("value1".to_owned())); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 36 | store.set("key1".to_owned(), "value2".to_owned())?; [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 37 | assert_eq!(store.get("key1".to_owned())?, Some("value2".to_owned())); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 32 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:41:9 [INFO] [stdout] | [INFO] [stdout] 41 | let store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | ^^^^^ not mutable [INFO] [stdout] 42 | assert_eq!(store.get("key1".to_owned())?, Some("value2".to_owned())); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 43 | store.set("key1".to_owned(), "value3".to_owned())?; [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 44 | assert_eq!(store.get("key1".to_owned())?, Some("value3".to_owned())); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 41 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:53:9 [INFO] [stdout] | [INFO] [stdout] 53 | let store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | ^^^^^ not mutable [INFO] [stdout] 54 | [INFO] [stdout] 55 | store.set("key1".to_owned(), "value1".to_owned())?; [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 56 | assert_eq!(store.get("key2".to_owned())?, None); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 53 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:61:16 [INFO] [stdout] | [INFO] [stdout] 61 | assert_eq!(store.get("key2".to_owned())?, None); [INFO] [stdout] | ^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 60 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | assert!(store.remove("key1".to_owned()).is_err()); [INFO] [stdout] | ^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 69 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:77:9 [INFO] [stdout] | [INFO] [stdout] 77 | let store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | ^^^^^ not mutable [INFO] [stdout] 78 | store.set("key1".to_owned(), "value1".to_owned())?; [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 79 | assert!(store.remove("key1".to_owned()).is_ok()); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] 80 | assert_eq!(store.get("key1".to_owned())?, None); [INFO] [stdout] | ----- cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 77 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:107:13 [INFO] [stdout] | [INFO] [stdout] 107 | store.set(key, value)?; [INFO] [stdout] | ^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 89 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0596]: cannot borrow `store` as mutable, as it is not declared as mutable [INFO] [stdout] --> project-4/tests/kv_store.rs:122:24 [INFO] [stdout] | [INFO] [stdout] 122 | assert_eq!(store.get(key)?, Some(format!("{}", iter))); [INFO] [stdout] | ^^^^^ cannot borrow as mutable [INFO] [stdout] | [INFO] [stdout] help: consider changing this to be mutable [INFO] [stdout] | [INFO] [stdout] 119 | let mut store = KvStore::open(temp_dir.path())?; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 13 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0596, E0624. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0596`. [INFO] [stdout] [INFO] [stderr] error: could not compile `kvs` (test "kv_store") due to 14 previous errors [INFO] running `Command { std: "docker" "inspect" "ccd4765369ea327cb68a478aee4d01513c22a05dc15f8c1458e32d624afe0f54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ccd4765369ea327cb68a478aee4d01513c22a05dc15f8c1458e32d624afe0f54", kill_on_drop: false }` [INFO] [stdout] ccd4765369ea327cb68a478aee4d01513c22a05dc15f8c1458e32d624afe0f54