[INFO] cloning repository https://github.com/zandemax/desfire-tool [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/zandemax/desfire-tool" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzandemax%2Fdesfire-tool", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzandemax%2Fdesfire-tool'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5f3ad89a5079e490c84668f7b055f46c922ef929 [INFO] testing zandemax/desfire-tool against 1.55.0 for beta-1.56-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fzandemax%2Fdesfire-tool" "/workspace/builds/worker-0/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/zandemax/desfire-tool on toolchain 1.55.0 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/zandemax/desfire-tool [INFO] finished tweaking git repo https://github.com/zandemax/desfire-tool [INFO] tweaked toml for git repo https://github.com/zandemax/desfire-tool written to /workspace/builds/worker-0/source/Cargo.toml [INFO] crate git repo https://github.com/zandemax/desfire-tool already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.55.0" "fetch" "--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-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 363295ae3216d4c09df2536c37dc8d5517677c85e802333ab4ffe91f747da6bd [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" "363295ae3216d4c09df2536c37dc8d5517677c85e802333ab4ffe91f747da6bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "363295ae3216d4c09df2536c37dc8d5517677c85e802333ab4ffe91f747da6bd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "363295ae3216d4c09df2536c37dc8d5517677c85e802333ab4ffe91f747da6bd", kill_on_drop: false }` [INFO] [stdout] 363295ae3216d4c09df2536c37dc8d5517677c85e802333ab4ffe91f747da6bd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0/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=warn" "-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:a89201d6b5b9fd45c15d5952ece0a0129e7e80cb26ec023fd59cf09bc26f1604" "/opt/rustwide/cargo-home/bin/cargo" "+1.55.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0c96c943406f62499798c41d184c0aefba2d9b3edacbe68a919e5ca889db6630 [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" "0c96c943406f62499798c41d184c0aefba2d9b3edacbe68a919e5ca889db6630", kill_on_drop: false }` [INFO] [stderr] Compiling winapi v0.3.7 [INFO] [stderr] Compiling termcolor v1.0.5 [INFO] [stderr] Compiling serde v1.0.93 [INFO] [stderr] Compiling text_io v0.1.7 [INFO] [stderr] Compiling crossbeam-channel v0.3.8 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling bstr v0.1.4 [INFO] [stderr] Compiling nfc-sys v0.1.5 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling structopt-derive v0.2.16 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Compiling exitfailure v0.5.1 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling freefare-sys v0.2.0 [INFO] [stderr] Compiling nfc v0.1.11 [INFO] [stderr] Compiling rayon v1.1.0 [INFO] [stderr] Compiling freefare v0.2.0 [INFO] [stderr] Compiling globset v0.4.3 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Compiling ignore v0.4.7 [INFO] [stderr] Compiling globwalk v0.3.1 [INFO] [stderr] Compiling winconsole v0.10.0 [INFO] [stderr] Compiling structopt v0.2.16 [INFO] [stderr] Compiling clap-verbosity-flag v0.2.0 [INFO] [stderr] Compiling colored v1.8.0 [INFO] [stderr] Compiling quicli v0.4.0 [INFO] [stderr] Compiling desfire-tool v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/desfire/card.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::error::Error` [INFO] [stdout] --> src/desfire/application.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::error::Error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crypto::*` [INFO] [stdout] --> src/desfire/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use crypto::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Write`, `self` [INFO] [stdout] --> src/commands/personalize.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | use std::io::{self, Write}; [INFO] [stdout] | ^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::super::desfire::*` [INFO] [stdout] --> src/commands/application.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use super::super::desfire::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `i` [INFO] [stdout] --> src/desfire/desfire.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | for i in 0..device_count { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_i` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/desfire/desfire.rs:61:9 [INFO] [stdout] | [INFO] [stdout] 61 | let res = mifare::desfire_authenticate_aes(self.tag, key_id, key); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/desfire/card.rs:21:7 [INFO] [stdout] | [INFO] [stdout] 21 | let res = mifare::desfire_get_version(desfire.tag, &mut info); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/desfire/card.rs:40:7 [INFO] [stdout] | [INFO] [stdout] 40 | let res = mifare::desfire_format_picc(desfire.tag); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/desfire/key.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn change_key(aid: u8, kid: u8, mut key_old: [u8; 16usize], mut key_new: [u8; 16usize], version: Option) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `count` [INFO] [stdout] --> src/desfire/key.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | let mut count: usize = 0; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_count` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/desfire/key.rs:18:16 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn add_key(aid: u8, kid: u8, mut key_old: [u8; 16usize], mut key_new: [u8; 16usize], version: Option) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/desfire/key.rs:56:28 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn change_key_settings(aid: u8, kid: u8, mut key: [u8; 16usize], version: Option, settings: KeySettings) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `res` [INFO] [stdout] --> src/desfire/key.rs:70:7 [INFO] [stdout] | [INFO] [stdout] 70 | let res = mifare::desfire_get_key_settings(desfire.tag, &mut settings, &mut max_keys); [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_res` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/desfire/key.rs:65:25 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn get_key_settings(aid: u8, kid: u8) -> KeySettings { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kid` [INFO] [stdout] --> src/desfire/key.rs:65:34 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn get_key_settings(aid: u8, kid: u8) -> KeySettings { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_kid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `res` is assigned to, but never used [INFO] [stdout] --> src/desfire/application.rs:31:7 [INFO] [stdout] | [INFO] [stdout] 31 | let res; [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: consider using `_res` instead [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `res` is never read [INFO] [stdout] --> src/desfire/application.rs:33:25 [INFO] [stdout] | [INFO] [stdout] 33 | Encryption::NONE => res = mifare::desfire_create_application(desfire.tag, application.id, settings_struct_to_u8(application.settings)... [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: value assigned to `res` is never read [INFO] [stdout] --> src/desfire/application.rs:34:27 [INFO] [stdout] | [INFO] [stdout] 34 | Encryption::DES3K3 => res = mifare::desfire_create_application_3k3des(desfire.tag, application.id, settings_struct_to_u8(application.... [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `res` is never read [INFO] [stdout] --> src/desfire/application.rs:35:24 [INFO] [stdout] | [INFO] [stdout] 35 | Encryption::AES => res = mifare::desfire_create_application_aes(desfire.tag, application.id, settings_struct_to_u8(application.settin... [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/commands/helper.rs:45:11 [INFO] [stdout] | [INFO] [stdout] 45 | Err(err) => print!("Could not parse your answer! \n {}", question), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generate_master_key` [INFO] [stdout] --> src/commands/personalize.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | let generate_master_key: bool = ask_bool("Should I generate a new Master key for you? [yes/no]: "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generate_master_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `random_uid` [INFO] [stdout] --> src/commands/personalize.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | let random_uid: bool = ask_bool("Do you want your card to respond with a random UID? (CAUTION: Once turned on, this cannot be turned of... [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_random_uid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `format_lock` [INFO] [stdout] --> src/commands/personalize.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | let format_lock: bool = ask_bool("Do you want to lock your card from being formatted? (CAUTION: Once turned on, this cannot be turned o... [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_format_lock` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `create_needs_master` [INFO] [stdout] --> src/commands/personalize.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | let create_needs_master: bool = ask_bool("Should you need the Master Key to create Applications? (Delete always requires master) [yes|n... [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_create_needs_master` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `list_needs_master` [INFO] [stdout] --> src/commands/personalize.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | let list_needs_master: bool = ask_bool("Should you need the Master Key to list Applications? [yes|no]: "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_list_needs_master` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `generate_master_key` [INFO] [stdout] --> src/commands/application.rs:20:7 [INFO] [stdout] | [INFO] [stdout] 20 | let generate_master_key: bool = ask_bool("Should I generate a new Key for this Application (no leaves default) [yes|no]: "); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_generate_master_key` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/application.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | fn change(aid: u8) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/application.rs:27:14 [INFO] [stdout] | [INFO] [stdout] 27 | fn configure(aid: u8) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/application.rs:31:9 [INFO] [stdout] | [INFO] [stdout] 31 | fn info(aid: u8) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/application.rs:35:11 [INFO] [stdout] | [INFO] [stdout] 35 | fn remove(aid: u8) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/key.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | fn add (aid: u8, kid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kid` [INFO] [stdout] --> src/commands/key.rs:16:18 [INFO] [stdout] | [INFO] [stdout] 16 | fn add (aid: u8, kid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_kid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/key.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | fn change (aid: u8, kid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kid` [INFO] [stdout] --> src/commands/key.rs:18:21 [INFO] [stdout] | [INFO] [stdout] 18 | fn change (aid: u8, kid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_kid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/key.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | fn configure (aid: u8, kid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kid` [INFO] [stdout] --> src/commands/key.rs:20:24 [INFO] [stdout] | [INFO] [stdout] 20 | fn configure (aid: u8, kid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_kid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/key.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | fn remove (aid: u8, kid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `kid` [INFO] [stdout] --> src/commands/key.rs:22:21 [INFO] [stdout] | [INFO] [stdout] 22 | fn remove (aid: u8, kid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_kid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `command` [INFO] [stdout] --> src/commands/file.rs:3:13 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn file(command: FileCommand, aid: u8, fid: u8) {} [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_command` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `aid` [INFO] [stdout] --> src/commands/file.rs:3:35 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn file(command: FileCommand, aid: u8, fid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_aid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `fid` [INFO] [stdout] --> src/commands/file.rs:3:44 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn file(command: FileCommand, aid: u8, fid: u8) {} [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_fid` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/desfire/card.rs:36:20 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn format_card(mut key: [u8; 16usize], key_id: u8, version: Option) { [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/desfire/key.rs:23:7 [INFO] [stdout] | [INFO] [stdout] 23 | let mut count: usize = 0; [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/desfire/key.rs:56:46 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn change_key_settings(aid: u8, kid: u8, mut key: [u8; 16usize], version: Option, settings: KeySettings) { [INFO] [stdout] | ----^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `authenticate` [INFO] [stdout] --> src/desfire/desfire.rs:59:10 [INFO] [stdout] | [INFO] [stdout] 59 | pub fn authenticate(&self, key_id: u8, mut key: [u8; 16usize], version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `generate_new_aes_key` [INFO] [stdout] --> src/desfire/crypto.rs:6:4 [INFO] [stdout] | [INFO] [stdout] 6 | fn generate_new_aes_key () -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `format_card` [INFO] [stdout] --> src/desfire/card.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | pub fn format_card(mut key: [u8; 16usize], key_id: u8, version: Option) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `change_key` [INFO] [stdout] --> src/desfire/key.rs:6:8 [INFO] [stdout] | [INFO] [stdout] 6 | pub fn change_key(aid: u8, kid: u8, mut key_old: [u8; 16usize], mut key_new: [u8; 16usize], version: Option) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_key` [INFO] [stdout] --> src/desfire/key.rs:18:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub fn add_key(aid: u8, kid: u8, mut key_old: [u8; 16usize], mut key_new: [u8; 16usize], version: Option) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `settings_struct_to_u8` [INFO] [stdout] --> src/desfire/key.rs:45:8 [INFO] [stdout] | [INFO] [stdout] 45 | pub fn settings_struct_to_u8(settings: KeySettings) -> u8 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `change_key_settings` [INFO] [stdout] --> src/desfire/key.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 56 | pub fn change_key_settings(aid: u8, kid: u8, mut key: [u8; 16usize], version: Option, settings: KeySettings) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `Application` [INFO] [stdout] --> src/desfire/application.rs:9:12 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct Application { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Encryption` [INFO] [stdout] --> src/desfire/application.rs:16:10 [INFO] [stdout] | [INFO] [stdout] 16 | pub enum Encryption { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `add_application` [INFO] [stdout] --> src/desfire/application.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | pub fn add_application(application: Application, key: Option<[u8; 16usize]>, version: Option) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct is never constructed: `PersonalizationSettings` [INFO] [stdout] --> src/commands/personalize.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct PersonalizationSettings { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/commands/helper.rs:42:5 [INFO] [stdout] | [INFO] [stdout] 42 | io::stdout().flush(); [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 `Result` that must be used [INFO] [stdout] --> src/commands/helper.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 47 | io::stdout().flush(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: linking with `cc` failed: exit status: 1 [INFO] [stdout] | [INFO] [stdout] = note: "cc" "-m64" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.0.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.1.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.10.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.11.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.12.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.13.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.14.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.15.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.2.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.3.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.4.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.5.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.6.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.7.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.8.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.desfire_tool.5b05f092-cgu.9.rcgu.o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567.4gckf3fraeb3ayq7.rcgu.o" "-Wl,--as-needed" "-L" "/opt/rustwide/target/debug/deps" "-L" "/opt/rustwide/target/debug/build/backtrace-sys-bde5de0a35b4f0ed/out" "-L" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/rustwide/target/debug/deps/libcolored-2ab941b08407e7e3.rlib" "/opt/rustwide/target/debug/deps/libnfc-fea9c2b0d71b3d55.rlib" "/opt/rustwide/target/debug/deps/libquicli-8c14927f2bfb28f1.rlib" "/opt/rustwide/target/debug/deps/libexitfailure-c84518f52de4febf.rlib" "/opt/rustwide/target/debug/deps/librayon-6e4bfc73e5f398a4.rlib" "/opt/rustwide/target/debug/deps/librayon_core-adc367cc694ab86f.rlib" "/opt/rustwide/target/debug/deps/libnum_cpus-adc75e6a8ece1dd3.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_queue-6a7bf15a07761456.rlib" "/opt/rustwide/target/debug/deps/libeither-6807990e29cbe8c6.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_deque-85171927b83f2d4d.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_epoch-04cfe0fdb674c9c3.rlib" "/opt/rustwide/target/debug/deps/libscopeguard-e0d77d0b25435982.rlib" "/opt/rustwide/target/debug/deps/libmemoffset-ad810a0622b424db.rlib" "/opt/rustwide/target/debug/deps/libarrayvec-ab55f96d71d431c9.rlib" "/opt/rustwide/target/debug/deps/libclap_verbosity_flag-4aaa1fa294d00289.rlib" "/opt/rustwide/target/debug/deps/libstructopt-717786a567c37f7f.rlib" "/opt/rustwide/target/debug/deps/libclap-20072c87beb0d185.rlib" "/opt/rustwide/target/debug/deps/libvec_map-2fd734c4c1e4fc50.rlib" "/opt/rustwide/target/debug/deps/libtextwrap-2c085bbb97209d98.rlib" "/opt/rustwide/target/debug/deps/libunicode_width-bbf70183f4a76aeb.rlib" "/opt/rustwide/target/debug/deps/libstrsim-0fc606efc91e3789.rlib" "/opt/rustwide/target/debug/deps/libbitflags-5244714ba35ef0d7.rlib" "/opt/rustwide/target/debug/deps/libansi_term-329dab68dba20daf.rlib" "/opt/rustwide/target/debug/deps/libenv_logger-a1d32980cc284d9d.rlib" "/opt/rustwide/target/debug/deps/libatty-74de808357a3d9c1.rlib" "/opt/rustwide/target/debug/deps/libhumantime-efa5bae243b9c523.rlib" "/opt/rustwide/target/debug/deps/libquick_error-8af1626c14a64d49.rlib" "/opt/rustwide/target/debug/deps/libtermcolor-dff3bebd4e162843.rlib" "/opt/rustwide/target/debug/deps/libglobwalk-f25aa0c03c994f8a.rlib" "/opt/rustwide/target/debug/deps/libignore-a24d5d1f882248b0.rlib" "/opt/rustwide/target/debug/deps/libwalkdir-5ca1249191a00536.rlib" "/opt/rustwide/target/debug/deps/libsame_file-8b3e44589b17695c.rlib" "/opt/rustwide/target/debug/deps/libglobset-05b88908884755c8.rlib" "/opt/rustwide/target/debug/deps/libregex-e5735a3855dc32aa.rlib" "/opt/rustwide/target/debug/deps/libutf8_ranges-5f3d030d0731cc04.rlib" "/opt/rustwide/target/debug/deps/libregex_syntax-8a67f78f92093530.rlib" "/opt/rustwide/target/debug/deps/libucd_util-2d9b96822d3aa814.rlib" "/opt/rustwide/target/debug/deps/libthread_local-e8807c2bbfca6e70.rlib" "/opt/rustwide/target/debug/deps/liblog-fae9769fac8f5f4e.rlib" "/opt/rustwide/target/debug/deps/libfnv-7449a3f4573c4646.rlib" "/opt/rustwide/target/debug/deps/libbstr-4e8592d1ce951514.rlib" "/opt/rustwide/target/debug/deps/libaho_corasick-a216098cf7d695dd.rlib" "/opt/rustwide/target/debug/deps/libmemchr-bdcc980632531b7d.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_channel-5034d22707e2ee14.rlib" "/opt/rustwide/target/debug/deps/libsmallvec-886ba6059a2f3ec9.rlib" "/opt/rustwide/target/debug/deps/libcrossbeam_utils-5efd9096ca627e89.rlib" "/opt/rustwide/target/debug/deps/liblazy_static-78eca0dc9fe0cbfa.rlib" "/opt/rustwide/target/debug/deps/libremove_dir_all-5dd006254a81b447.rlib" "/opt/rustwide/target/debug/deps/libfailure-04602d3cf9d13b94.rlib" "/opt/rustwide/target/debug/deps/libbacktrace-a60f64c03e8bae4d.rlib" "/opt/rustwide/target/debug/deps/libbacktrace_sys-dbe3b1f2a581c08e.rlib" "/opt/rustwide/target/debug/deps/librustc_demangle-3aa12cf4be40ccdc.rlib" "/opt/rustwide/target/debug/deps/libcfg_if-ff427bfb30b70e1e.rlib" "/opt/rustwide/target/debug/deps/librand-265466edbaaca8de.rlib" "/opt/rustwide/target/debug/deps/librand_xorshift-5a2c186f25db0db2.rlib" "/opt/rustwide/target/debug/deps/librand_pcg-57a23ed95797d3e6.rlib" "/opt/rustwide/target/debug/deps/librand_hc-a62c60b6695dd231.rlib" "/opt/rustwide/target/debug/deps/librand_chacha-3f9901ab9922cd59.rlib" "/opt/rustwide/target/debug/deps/librand_isaac-5fce77345e8d6f2c.rlib" "/opt/rustwide/target/debug/deps/librand_core-f1dc128c8e73d570.rlib" "/opt/rustwide/target/debug/deps/librand_os-c62972aa904da9d8.rlib" "/opt/rustwide/target/debug/deps/librand_jitter-a93391bb5caad24b.rlib" "/opt/rustwide/target/debug/deps/librand_core-0cdc5813e9ef98e7.rlib" "/opt/rustwide/target/debug/deps/libfreefare-a2fd8c4ec565c12e.rlib" "/opt/rustwide/target/debug/deps/libfreefare_sys-799664e7d2520d04.rlib" "/opt/rustwide/target/debug/deps/libnfc_sys-2e65809a560bd50f.rlib" "/opt/rustwide/target/debug/deps/liblibc-cf9cfeea0511a1a2.rlib" "/opt/rustwide/target/debug/deps/libtext_io-83408cf695ef7975.rlib" "-Wl,--start-group" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-008055cc7d873802.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-06f01ac2578bda94.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-f9a3c3274a1835e0.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-d4cbb754ee9f4daa.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-95c14e1c1e3ebcc4.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d489f0ca872880cc.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-75f07df0b18fea39.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0c35b278736219a2.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-e530649c9a06e3c6.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-6b148909d375a785.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-cd15fa647f4775d1.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-74be3a703f788ba2.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-8f2c5b445c28b2e3.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8480e85e0be96197.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-ac23a75f6f42004e.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-557ba8776e04d182.rlib" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-4beb03d03503c439.rlib" "-Wl,--end-group" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-dd7db1bec6909f24.rlib" "-Wl,-Bdynamic" "-lnfc" "-lfreefare" "-lnfc" "-lutil" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/opt/rustwide/rustup-home/toolchains/1.55.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/opt/rustwide/target/debug/deps/desfire_tool-299bf7a90f29f567" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" [INFO] [stdout] = note: /usr/bin/ld: cannot find -lnfc [INFO] [stdout] /usr/bin/ld: cannot find -lfreefare [INFO] [stdout] /usr/bin/ld: cannot find -lnfc [INFO] [stdout] collect2: error: ld returned 1 exit status [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to previous error; 58 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `desfire-tool` due to 2 previous errors; 58 warnings emitted [INFO] running `Command { std: "docker" "inspect" "0c96c943406f62499798c41d184c0aefba2d9b3edacbe68a919e5ca889db6630", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0c96c943406f62499798c41d184c0aefba2d9b3edacbe68a919e5ca889db6630", kill_on_drop: false }` [INFO] [stdout] 0c96c943406f62499798c41d184c0aefba2d9b3edacbe68a919e5ca889db6630