[INFO] cloning repository https://github.com/proycon/vocage [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/proycon/vocage" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fproycon%2Fvocage", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fproycon%2Fvocage'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e67f7d1f498b63b01e6a26d1ff825adfa9670318 [INFO] testing proycon/vocage against beta-2020-07-24 for beta-1.46-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fproycon%2Fvocage" "/workspace/builds/worker-5/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/proycon/vocage on toolchain beta-2020-07-24 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/proycon/vocage [INFO] finished tweaking git repo https://github.com/proycon/vocage [INFO] tweaked toml for git repo https://github.com/proycon/vocage written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/proycon/vocage already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2020-07-24" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-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" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b00d12e6cf819327c0d975f40b5b4381a35d2a98db847bb33047a7891726aef3 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "b00d12e6cf819327c0d975f40b5b4381a35d2a98db847bb33047a7891726aef3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b00d12e6cf819327c0d975f40b5b4381a35d2a98db847bb33047a7891726aef3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b00d12e6cf819327c0d975f40b5b4381a35d2a98db847bb33047a7891726aef3", kill_on_drop: false }` [INFO] [stdout] b00d12e6cf819327c0d975f40b5b4381a35d2a98db847bb33047a7891726aef3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e7d3ca530e28aa008b897d4111128c7a818d199ee36d9d8bb3f92c2d52f90293 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "e7d3ca530e28aa008b897d4111128c7a818d199ee36d9d8bb3f92c2d52f90293", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.71 [INFO] [stderr] Compiling serde v1.0.111 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Compiling syn v1.0.31 [INFO] [stderr] Compiling serde_json v1.0.55 [INFO] [stderr] Compiling simple-error v0.2.1 [INFO] [stderr] Compiling num-traits v0.2.12 [INFO] [stderr] Compiling yaml-rust v0.4.4 [INFO] [stderr] Compiling csv-core v0.1.10 [INFO] [stderr] Compiling regex-automata v0.1.9 [INFO] [stderr] Compiling getrandom v0.1.14 [INFO] [stderr] Compiling dirs-sys v0.3.5 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling time v0.1.43 [INFO] [stderr] Compiling clap v2.33.1 [INFO] [stderr] Compiling dirs v2.0.2 [INFO] [stderr] Compiling rand_core v0.5.1 [INFO] [stderr] Compiling rand_chacha v0.2.2 [INFO] [stderr] Compiling num-integer v0.1.43 [INFO] [stderr] Compiling rand v0.7.3 [INFO] [stderr] Compiling chrono v0.4.11 [INFO] [stderr] Compiling serde_derive v1.0.111 [INFO] [stderr] Compiling bstr v0.2.13 [INFO] [stderr] Compiling serde_yaml v0.8.13 [INFO] [stderr] Compiling csv v1.1.3 [INFO] [stderr] Compiling vocage v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Digest`, `compute` [INFO] [stdout] --> src/lib.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | use md5::{compute,Digest}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/lib.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | use std::path::{Path,PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> src/lib.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/lib.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | use rand::{thread_rng,Rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allow_next_deck` [INFO] [stdout] --> src/lib.rs:779:33 [INFO] [stdout] | [INFO] [stdout] 779 | pub fn next_card(&mut self, allow_next_deck: bool) -> Result<(), SimpleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allow_next_deck` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `self.lastvisit` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/lib.rs:547:13 [INFO] [stdout] | [INFO] [stdout] 546 | if let Some(card) = self.current_card() { [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] 547 | self.lastvisit.insert(card.id.to_string(),now); [INFO] [stdout] | ^^^^^^^^^^^^^^ ------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | fs::write(filename, data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/main.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | use std::path::{Path,PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arg`, `SubCommand` [INFO] [stdout] --> src/main.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | use clap::{App, Arg, SubCommand}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `thread_rng` [INFO] [stdout] --> src/main.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | use rand::{thread_rng,Rng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::simple_error::SimpleError` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use self::simple_error::SimpleError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stdout] --> src/main.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `success` [INFO] [stdout] --> src/main.rs:768:9 [INFO] [stdout] | [INFO] [stdout] 768 | let mut success = true; //determines the exit code [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `handled` is never read [INFO] [stdout] --> src/main.rs:282:13 [INFO] [stdout] | [INFO] [stdout] 282 | let mut handled = match self.mode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datadir` [INFO] [stdout] --> src/main.rs:281:53 [INFO] [stdout] | [INFO] [stdout] 281 | fn handle_response(&mut self, response: String, datadir: &str, sessiondir: &str, present_card: &mut bool) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datadir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sessiondir` [INFO] [stdout] --> src/main.rs:281:68 [INFO] [stdout] | [INFO] [stdout] 281 | fn handle_response(&mut self, response: String, datadir: &str, sessiondir: &str, present_card: &mut bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sessiondir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut newcommand = if response.is_empty() { [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/main.rs:768:9 [INFO] [stdout] | [INFO] [stdout] 768 | let mut success = true; //determines the exit code [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:426:28 [INFO] [stdout] | [INFO] [stdout] 426 | ... self.select_deck(deck_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:429:24 [INFO] [stdout] | [INFO] [stdout] 429 | self.select_deck_by_name(deck_value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:442:17 [INFO] [stdout] | [INFO] [stdout] 442 | self.next_deck().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:447:17 [INFO] [stdout] | [INFO] [stdout] 447 | self.previous_deck().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:461:28 [INFO] [stdout] | [INFO] [stdout] 461 | ... self.select_card(card_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:480:17 [INFO] [stdout] | [INFO] [stdout] 480 | self.promote().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:485:17 [INFO] [stdout] | [INFO] [stdout] 485 | self.demote().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | self.next_card(true).map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 495 | self.previous_card().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | self.shuffle().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 59.77s [INFO] running `Command { std: "docker" "inspect" "e7d3ca530e28aa008b897d4111128c7a818d199ee36d9d8bb3f92c2d52f90293", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e7d3ca530e28aa008b897d4111128c7a818d199ee36d9d8bb3f92c2d52f90293", kill_on_drop: false }` [INFO] [stdout] e7d3ca530e28aa008b897d4111128c7a818d199ee36d9d8bb3f92c2d52f90293 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] d7988bb803162bf58a239bea5b02d4f815a9a70436b50fc6dd1ba6ecd04c371d [INFO] running `Command { std: "docker" "start" "-a" "d7988bb803162bf58a239bea5b02d4f815a9a70436b50fc6dd1ba6ecd04c371d", kill_on_drop: false }` [INFO] [stderr] Compiling vocage v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Digest`, `compute` [INFO] [stdout] --> src/lib.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | use md5::{compute,Digest}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/lib.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | use std::path::{Path,PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> src/lib.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/lib.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | use rand::{thread_rng,Rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allow_next_deck` [INFO] [stdout] --> src/lib.rs:779:33 [INFO] [stdout] | [INFO] [stdout] 779 | pub fn next_card(&mut self, allow_next_deck: bool) -> Result<(), SimpleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allow_next_deck` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `self.lastvisit` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/lib.rs:547:13 [INFO] [stdout] | [INFO] [stdout] 546 | if let Some(card) = self.current_card() { [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] 547 | self.lastvisit.insert(card.id.to_string(),now); [INFO] [stdout] | ^^^^^^^^^^^^^^ ------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | fs::write(filename, data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/main.rs:14:17 [INFO] [stdout] | [INFO] [stdout] 14 | use std::path::{Path,PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Arg`, `SubCommand` [INFO] [stdout] --> src/main.rs:17:17 [INFO] [stdout] | [INFO] [stdout] 17 | use clap::{App, Arg, SubCommand}; [INFO] [stdout] | ^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `regex::Regex` [INFO] [stdout] --> src/main.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 18 | use regex::Regex; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Rng`, `thread_rng` [INFO] [stdout] --> src/main.rs:19:12 [INFO] [stdout] | [INFO] [stdout] 19 | use rand::{thread_rng,Rng}; [INFO] [stdout] | ^^^^^^^^^^ ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self::simple_error::SimpleError` [INFO] [stdout] --> src/main.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 21 | use self::simple_error::SimpleError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stdout] --> src/main.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stdout] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Digest`, `compute` [INFO] [stdout] --> src/lib.rs:21:11 [INFO] [stdout] | [INFO] [stdout] 21 | use md5::{compute,Digest}; [INFO] [stdout] | ^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/lib.rs:22:17 [INFO] [stdout] | [INFO] [stdout] 22 | use std::path::{Path,PathBuf}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::iter::FromIterator` [INFO] [stdout] --> src/lib.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 23 | use std::iter::FromIterator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `thread_rng` [INFO] [stdout] --> src/lib.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | use rand::{thread_rng,Rng}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `success` [INFO] [stdout] --> src/main.rs:768:9 [INFO] [stdout] | [INFO] [stdout] 768 | let mut success = true; //determines the exit code [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `handled` is never read [INFO] [stdout] --> src/main.rs:282:13 [INFO] [stdout] | [INFO] [stdout] 282 | let mut handled = match self.mode { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `datadir` [INFO] [stdout] --> src/main.rs:281:53 [INFO] [stdout] | [INFO] [stdout] 281 | fn handle_response(&mut self, response: String, datadir: &str, sessiondir: &str, present_card: &mut bool) -> bool { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datadir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `sessiondir` [INFO] [stdout] --> src/main.rs:281:68 [INFO] [stdout] | [INFO] [stdout] 281 | fn handle_response(&mut self, response: String, datadir: &str, sessiondir: &str, present_card: &mut bool) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sessiondir` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:290:13 [INFO] [stdout] | [INFO] [stdout] 290 | let mut newcommand = if response.is_empty() { [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/main.rs:768:9 [INFO] [stdout] | [INFO] [stdout] 768 | let mut success = true; //determines the exit code [INFO] [stdout] | ----^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:426:28 [INFO] [stdout] | [INFO] [stdout] 426 | ... self.select_deck(deck_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:429:24 [INFO] [stdout] | [INFO] [stdout] 429 | self.select_deck_by_name(deck_value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:442:17 [INFO] [stdout] | [INFO] [stdout] 442 | self.next_deck().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:447:17 [INFO] [stdout] | [INFO] [stdout] 447 | self.previous_deck().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:461:28 [INFO] [stdout] | [INFO] [stdout] 461 | ... self.select_card(card_index); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:480:17 [INFO] [stdout] | [INFO] [stdout] 480 | self.promote().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:485:17 [INFO] [stdout] | [INFO] [stdout] 485 | self.demote().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:490:17 [INFO] [stdout] | [INFO] [stdout] 490 | self.next_card(true).map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:495:17 [INFO] [stdout] | [INFO] [stdout] 495 | self.previous_card().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:500:17 [INFO] [stdout] | [INFO] [stdout] 500 | self.shuffle().map_err(|e| eprintln!("{}",e) ); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `allow_next_deck` [INFO] [stdout] --> src/lib.rs:779:33 [INFO] [stdout] | [INFO] [stdout] 779 | pub fn next_card(&mut self, allow_next_deck: bool) -> Result<(), SimpleError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allow_next_deck` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `self.lastvisit` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/lib.rs:547:13 [INFO] [stdout] | [INFO] [stdout] 546 | if let Some(card) = self.current_card() { [INFO] [stdout] | ---- immutable borrow occurs here [INFO] [stdout] 547 | self.lastvisit.insert(card.id.to_string(),now); [INFO] [stdout] | ^^^^^^^^^^^^^^ ------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/lib.rs:379:13 [INFO] [stdout] | [INFO] [stdout] 379 | fs::write(filename, data); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 7 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 2.08s [INFO] running `Command { std: "docker" "inspect" "d7988bb803162bf58a239bea5b02d4f815a9a70436b50fc6dd1ba6ecd04c371d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d7988bb803162bf58a239bea5b02d4f815a9a70436b50fc6dd1ba6ecd04c371d", kill_on_drop: false }` [INFO] [stdout] d7988bb803162bf58a239bea5b02d4f815a9a70436b50fc6dd1ba6ecd04c371d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env@sha256:a636fd89d022f18117e1dc8fb37a0a009933cdbbe082814857f0e2024962d47c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2020-07-24" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8f669dfbfff3ff8771d05f064b41b11780ab7d273f2638981c95a19b0da33b45 [INFO] running `Command { std: "docker" "start" "-a" "8f669dfbfff3ff8771d05f064b41b11780ab7d273f2638981c95a19b0da33b45", kill_on_drop: false }` [INFO] [stderr] warning: unused imports: `Digest`, `compute` [INFO] [stderr] --> src/lib.rs:21:11 [INFO] [stderr] | [INFO] [stderr] 21 | use md5::{compute,Digest}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/lib.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | use std::path::{Path,PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/lib.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `thread_rng` [INFO] [stderr] --> src/lib.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | use rand::{thread_rng,Rng}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allow_next_deck` [INFO] [stderr] --> src/lib.rs:779:33 [INFO] [stderr] | [INFO] [stderr] 779 | pub fn next_card(&mut self, allow_next_deck: bool) -> Result<(), SimpleError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allow_next_deck` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `self.lastvisit` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/lib.rs:547:13 [INFO] [stderr] | [INFO] [stderr] 546 | if let Some(card) = self.current_card() { [INFO] [stderr] | ---- immutable borrow occurs here [INFO] [stderr] 547 | self.lastvisit.insert(card.id.to_string(),now); [INFO] [stderr] | ^^^^^^^^^^^^^^ ------- immutable borrow later used here [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:379:13 [INFO] [stderr] | [INFO] [stderr] 379 | fs::write(filename, data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Digest`, `compute` [INFO] [stderr] --> src/lib.rs:21:11 [INFO] [stderr] | [INFO] [stderr] 21 | use md5::{compute,Digest}; [INFO] [stderr] | ^^^^^^^ ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/lib.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | use std::path::{Path,PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/lib.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `thread_rng` [INFO] [stderr] --> src/lib.rs:25:12 [INFO] [stderr] | [INFO] [stderr] 25 | use rand::{thread_rng,Rng}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `allow_next_deck` [INFO] [stderr] --> src/lib.rs:779:33 [INFO] [stderr] | [INFO] [stderr] 779 | pub fn next_card(&mut self, allow_next_deck: bool) -> Result<(), SimpleError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_allow_next_deck` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `self.lastvisit` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/lib.rs:547:13 [INFO] [stderr] | [INFO] [stderr] 546 | if let Some(card) = self.current_card() { [INFO] [stderr] | ---- immutable borrow occurs here [INFO] [stderr] 547 | self.lastvisit.insert(card.id.to_string(),now); [INFO] [stderr] | ^^^^^^^^^^^^^^ ------- immutable borrow later used here [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/lib.rs:379:13 [INFO] [stderr] | [INFO] [stderr] 379 | fs::write(filename, data); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 7 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `Path` [INFO] [stderr] --> src/main.rs:14:17 [INFO] [stderr] | [INFO] [stderr] 14 | use std::path::{Path,PathBuf}; [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Arg`, `SubCommand` [INFO] [stderr] --> src/main.rs:17:17 [INFO] [stderr] | [INFO] [stderr] 17 | use clap::{App, Arg, SubCommand}; [INFO] [stderr] | ^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `regex::Regex` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use regex::Regex; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Rng`, `thread_rng` [INFO] [stderr] --> src/main.rs:19:12 [INFO] [stderr] | [INFO] [stderr] 19 | use rand::{thread_rng,Rng}; [INFO] [stderr] | ^^^^^^^^^^ ^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `self::simple_error::SimpleError` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use self::simple_error::SimpleError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `SystemTime`, `UNIX_EPOCH` [INFO] [stderr] --> src/main.rs:22:17 [INFO] [stderr] | [INFO] [stderr] 22 | use std::time::{SystemTime, UNIX_EPOCH}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `success` [INFO] [stderr] --> src/main.rs:768:9 [INFO] [stderr] | [INFO] [stderr] 768 | let mut success = true; //determines the exit code [INFO] [stderr] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_success` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: value assigned to `handled` is never read [INFO] [stderr] --> src/main.rs:282:13 [INFO] [stderr] | [INFO] [stderr] 282 | let mut handled = match self.mode { [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_assignments)]` on by default [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `datadir` [INFO] [stderr] --> src/main.rs:281:53 [INFO] [stderr] | [INFO] [stderr] 281 | fn handle_response(&mut self, response: String, datadir: &str, sessiondir: &str, present_card: &mut bool) -> bool { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_datadir` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `sessiondir` [INFO] [stderr] --> src/main.rs:281:68 [INFO] [stderr] | [INFO] [stderr] 281 | fn handle_response(&mut self, response: String, datadir: &str, sessiondir: &str, present_card: &mut bool) -> bool { [INFO] [stderr] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sessiondir` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:290:13 [INFO] [stderr] | [INFO] [stderr] 290 | let mut newcommand = if response.is_empty() { [INFO] [stderr] | ----^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:768:9 [INFO] [stderr] | [INFO] [stderr] 768 | let mut success = true; //determines the exit code [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:426:28 [INFO] [stderr] | [INFO] [stderr] 426 | ... self.select_deck(deck_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:429:24 [INFO] [stderr] | [INFO] [stderr] 429 | self.select_deck_by_name(deck_value); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:442:17 [INFO] [stderr] | [INFO] [stderr] 442 | self.next_deck().map_err(|e| eprintln!("{}",e) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:447:17 [INFO] [stderr] | [INFO] [stderr] 447 | self.previous_deck().map_err(|e| eprintln!("{}",e) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:461:28 [INFO] [stderr] | [INFO] [stderr] 461 | ... self.select_card(card_index); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:480:17 [INFO] [stderr] | [INFO] [stderr] 480 | self.promote().map_err(|e| eprintln!("{}",e) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:485:17 [INFO] [stderr] | [INFO] [stderr] 485 | self.demote().map_err(|e| eprintln!("{}",e) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:490:17 [INFO] [stderr] | [INFO] [stderr] 490 | self.next_card(true).map_err(|e| eprintln!("{}",e) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:495:17 [INFO] [stderr] | [INFO] [stderr] 495 | self.previous_card().map_err(|e| eprintln!("{}",e) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:500:17 [INFO] [stderr] | [INFO] [stderr] 500 | self.shuffle().map_err(|e| eprintln!("{}",e) ); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: 23 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/vocage-3c76e3ec80067cbd [INFO] [stderr] Running /opt/rustwide/target/debug/deps/vocage-a55bee70717c2cdc [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests vocage [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "8f669dfbfff3ff8771d05f064b41b11780ab7d273f2638981c95a19b0da33b45", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8f669dfbfff3ff8771d05f064b41b11780ab7d273f2638981c95a19b0da33b45", kill_on_drop: false }` [INFO] [stdout] 8f669dfbfff3ff8771d05f064b41b11780ab7d273f2638981c95a19b0da33b45