[INFO] cloning repository zandemax/desfire-tool [INFO] running `"git" "clone" "--bare" "git://github.com/zandemax/desfire-tool.git" "work/cache/sources/gh/zandemax/desfire-tool"` [INFO] [stderr] Cloning into bare repository 'work/cache/sources/gh/zandemax/desfire-tool'... [INFO] running `"git" "clone" "work/cache/sources/gh/zandemax/desfire-tool" "work/ex/beta-1.37-6/sources/1.36.0/gh/zandemax/desfire-tool"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/1.36.0/gh/zandemax/desfire-tool'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/zandemax/desfire-tool" "work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/zandemax/desfire-tool"` [INFO] [stderr] Cloning into 'work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/zandemax/desfire-tool'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 5f3ad89a5079e490c84668f7b055f46c922ef929 [INFO] sha for GitHub repo zandemax/desfire-tool: 5f3ad89a5079e490c84668f7b055f46c922ef929 [INFO] validating manifest of zandemax/desfire-tool on toolchain 1.36.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of zandemax/desfire-tool on toolchain beta-2019-07-23 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing zandemax/desfire-tool [INFO] finished frobbing zandemax/desfire-tool [INFO] frobbed toml for zandemax/desfire-tool written to work/ex/beta-1.37-6/sources/1.36.0/gh/zandemax/desfire-tool/Cargo.toml [INFO] started frobbing zandemax/desfire-tool [INFO] finished frobbing zandemax/desfire-tool [INFO] frobbed toml for zandemax/desfire-tool written to work/ex/beta-1.37-6/sources/beta-2019-07-23/gh/zandemax/desfire-tool/Cargo.toml [INFO] crate zandemax/desfire-tool already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.36.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded freefare v0.2.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-07-23" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing zandemax/desfire-tool against 1.36.0 for beta-1.37-6 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-2/1.36.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/1.36.0/gh/zandemax/desfire-tool:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+1.36.0" "build" "--frozen"` [INFO] [stdout] e2bea30cb0fbafca538fda9834601a75e6f508a77fca475e7dfa5b9602f49e8b [INFO] running `"docker" "start" "-a" "e2bea30cb0fbafca538fda9834601a75e6f508a77fca475e7dfa5b9602f49e8b"` [INFO] [stderr] Compiling arrayvec v0.4.10 [INFO] [stderr] Compiling cc v1.0.37 [INFO] [stderr] Compiling autocfg v0.1.4 [INFO] [stderr] Compiling libc v0.2.58 [INFO] [stderr] Compiling syn v0.15.38 [INFO] [stderr] Compiling nodrop v0.1.13 [INFO] [stderr] Compiling cfg-if v0.1.9 [INFO] [stderr] Compiling regex v1.1.7 [INFO] [stderr] Compiling utf8-ranges v1.0.3 [INFO] [stderr] Compiling unicode-segmentation v1.3.0 [INFO] [stderr] Compiling rustc-demangle v0.1.15 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Compiling smallvec v0.6.10 [INFO] [stderr] Compiling same-file v1.0.4 [INFO] [stderr] Compiling winapi v0.3.7 [INFO] [stderr] Compiling quick-error v1.2.2 [INFO] [stderr] Compiling termcolor v1.0.5 [INFO] [stderr] Compiling serde v1.0.93 [INFO] [stderr] Compiling either v1.5.2 [INFO] [stderr] Compiling rgb v0.8.13 [INFO] [stderr] Compiling remove_dir_all v0.5.2 [INFO] [stderr] Compiling text_io v0.1.7 [INFO] [stderr] Compiling regex-syntax v0.6.7 [INFO] [stderr] Compiling crossbeam-utils v0.6.5 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling backtrace v0.3.31 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling humantime v1.2.0 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling rand_jitter v0.1.4 [INFO] [stderr] Compiling walkdir v2.2.8 [INFO] [stderr] Compiling quote v0.6.12 [INFO] [stderr] Compiling bstr v0.1.4 [INFO] [stderr] Compiling crossbeam-channel v0.3.8 [INFO] [stderr] Compiling crossbeam-queue v0.1.2 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling num_cpus v1.10.1 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling nfc-sys v0.1.5 [INFO] [stderr] Compiling rand_os v0.1.3 [INFO] [stderr] Compiling crossbeam-epoch v0.7.1 [INFO] [stderr] Compiling clap v2.33.0 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling freefare-sys v0.2.0 [INFO] [stderr] Compiling nfc v0.1.11 [INFO] [stderr] Compiling crossbeam-deque v0.6.3 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling freefare v0.2.0 [INFO] [stderr] Compiling rayon v1.1.0 [INFO] [stderr] Compiling synstructure v0.10.2 [INFO] [stderr] Compiling structopt-derive v0.2.16 [INFO] [stderr] Compiling serde_derive v1.0.93 [INFO] [stderr] Compiling winconsole v0.10.0 [INFO] [stderr] Compiling colored v1.8.0 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Compiling structopt v0.2.16 [INFO] [stderr] Compiling globset v0.4.3 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling failure v0.1.5 [INFO] [stderr] Compiling exitfailure v0.5.1 [INFO] [stderr] Compiling clap-verbosity-flag v0.2.0 [INFO] [stderr] Compiling ignore v0.4.7 [INFO] [stderr] Compiling globwalk v0.3.1 [INFO] [stderr] Compiling quicli v0.4.0 [INFO] [stderr] Compiling desfire-tool v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/desfire/card.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/desfire/application.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crypto::*` [INFO] [stderr] --> src/desfire/mod.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use crypto::*; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Write`, `self` [INFO] [stderr] --> src/commands/personalize.rs:3:15 [INFO] [stderr] | [INFO] [stderr] 3 | use std::io::{self, Write}; [INFO] [stderr] | ^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::super::desfire::*` [INFO] [stderr] --> src/commands/application.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use super::super::desfire::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/desfire/desfire.rs:33:9 [INFO] [stderr] | [INFO] [stderr] 33 | for i in 0..device_count { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/desfire/desfire.rs:61:9 [INFO] [stderr] | [INFO] [stderr] 61 | let res = mifare::desfire_authenticate_aes(self.tag, key_id, key); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_res` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/desfire/card.rs:21:7 [INFO] [stderr] | [INFO] [stderr] 21 | let res = mifare::desfire_get_version(desfire.tag, &mut info); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_res` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/desfire/card.rs:40:7 [INFO] [stderr] | [INFO] [stderr] 40 | let res = mifare::desfire_format_picc(desfire.tag); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_res` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/desfire/key.rs:6:19 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn change_key(aid: u8, kid: u8, mut key_old: [u8; 16usize], mut key_new: [u8; 16usize], version: Option) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `count` [INFO] [stderr] --> src/desfire/key.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | let mut count: usize = 0; [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_count` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/desfire/key.rs:18:16 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn add_key(aid: u8, kid: u8, mut key_old: [u8; 16usize], mut key_new: [u8; 16usize], version: Option) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/desfire/key.rs:56:28 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn change_key_settings(aid: u8, kid: u8, mut key: [u8; 16usize], version: Option, settings: KeySettings) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `res` [INFO] [stderr] --> src/desfire/key.rs:70:7 [INFO] [stderr] | [INFO] [stderr] 70 | let res = mifare::desfire_get_key_settings(desfire.tag, &mut settings, &mut max_keys); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_res` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/desfire/key.rs:65:25 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn get_key_settings(aid: u8, kid: u8) -> KeySettings { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kid` [INFO] [stderr] --> src/desfire/key.rs:65:34 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn get_key_settings(aid: u8, kid: u8) -> KeySettings { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_kid` [INFO] [stderr] [INFO] [stderr] warning: variable `res` is assigned to, but never used [INFO] [stderr] --> src/desfire/application.rs:31:7 [INFO] [stderr] | [INFO] [stderr] 31 | let res; [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = note: consider using `_res` instead [INFO] [stderr] [INFO] [stderr] warning: value assigned to `res` is never read [INFO] [stderr] --> src/desfire/application.rs:33:25 [INFO] [stderr] | [INFO] [stderr] 33 | Encryption::NONE => res = mifare::desfire_create_application(desfire.tag, application.id, settings_struct_to_u8(application.settings), application.kid), [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: value assigned to `res` is never read [INFO] [stderr] --> src/desfire/application.rs:34:27 [INFO] [stderr] | [INFO] [stderr] 34 | Encryption::DES3K3 => res = mifare::desfire_create_application_3k3des(desfire.tag, application.id, settings_struct_to_u8(application.settings), application.kid), [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: value assigned to `res` is never read [INFO] [stderr] --> src/desfire/application.rs:35:24 [INFO] [stderr] | [INFO] [stderr] 35 | Encryption::AES => res = mifare::desfire_create_application_aes(desfire.tag, application.id, settings_struct_to_u8(application.settings), application.kid) [INFO] [stderr] | ^^^ [INFO] [stderr] | [INFO] [stderr] = help: maybe it is overwritten before being read? [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/commands/helper.rs:45:11 [INFO] [stderr] | [INFO] [stderr] 45 | Err(err) => print!("Could not parse your answer! \n {}", question), [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `generate_master_key` [INFO] [stderr] --> src/commands/personalize.rs:7:7 [INFO] [stderr] | [INFO] [stderr] 7 | let generate_master_key: bool = ask_bool("Should I generate a new Master key for you? [yes/no]: "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_generate_master_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `random_uid` [INFO] [stderr] --> src/commands/personalize.rs:8:7 [INFO] [stderr] | [INFO] [stderr] 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 off again!) [yes|no]: "); [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_random_uid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `format_lock` [INFO] [stderr] --> src/commands/personalize.rs:9:7 [INFO] [stderr] | [INFO] [stderr] 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 off again!) [yes|no]: "); [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_format_lock` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `create_needs_master` [INFO] [stderr] --> src/commands/personalize.rs:10:7 [INFO] [stderr] | [INFO] [stderr] 10 | let create_needs_master: bool = ask_bool("Should you need the Master Key to create Applications? (Delete always requires master) [yes|no]: "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_create_needs_master` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `list_needs_master` [INFO] [stderr] --> src/commands/personalize.rs:11:7 [INFO] [stderr] | [INFO] [stderr] 11 | let list_needs_master: bool = ask_bool("Should you need the Master Key to list Applications? [yes|no]: "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_list_needs_master` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `generate_master_key` [INFO] [stderr] --> src/commands/application.rs:20:7 [INFO] [stderr] | [INFO] [stderr] 20 | let generate_master_key: bool = ask_bool("Should I generate a new Key for this Application (no leaves default) [yes|no]: "); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ help: consider prefixing with an underscore: `_generate_master_key` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/application.rs:23:11 [INFO] [stderr] | [INFO] [stderr] 23 | fn change(aid: u8) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/application.rs:27:14 [INFO] [stderr] | [INFO] [stderr] 27 | fn configure(aid: u8) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/application.rs:31:9 [INFO] [stderr] | [INFO] [stderr] 31 | fn info(aid: u8) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/application.rs:35:11 [INFO] [stderr] | [INFO] [stderr] 35 | fn remove(aid: u8) { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/key.rs:16:9 [INFO] [stderr] | [INFO] [stderr] 16 | fn add (aid: u8, kid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kid` [INFO] [stderr] --> src/commands/key.rs:16:18 [INFO] [stderr] | [INFO] [stderr] 16 | fn add (aid: u8, kid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_kid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/key.rs:18:12 [INFO] [stderr] | [INFO] [stderr] 18 | fn change (aid: u8, kid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kid` [INFO] [stderr] --> src/commands/key.rs:18:21 [INFO] [stderr] | [INFO] [stderr] 18 | fn change (aid: u8, kid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_kid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/key.rs:20:15 [INFO] [stderr] | [INFO] [stderr] 20 | fn configure (aid: u8, kid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kid` [INFO] [stderr] --> src/commands/key.rs:20:24 [INFO] [stderr] | [INFO] [stderr] 20 | fn configure (aid: u8, kid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_kid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/key.rs:22:12 [INFO] [stderr] | [INFO] [stderr] 22 | fn remove (aid: u8, kid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kid` [INFO] [stderr] --> src/commands/key.rs:22:21 [INFO] [stderr] | [INFO] [stderr] 22 | fn remove (aid: u8, kid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_kid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `command` [INFO] [stderr] --> src/commands/file.rs:3:13 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn file(command: FileCommand, aid: u8, fid: u8) {} [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_command` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `aid` [INFO] [stderr] --> src/commands/file.rs:3:35 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn file(command: FileCommand, aid: u8, fid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_aid` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fid` [INFO] [stderr] --> src/commands/file.rs:3:44 [INFO] [stderr] | [INFO] [stderr] 3 | pub fn file(command: FileCommand, aid: u8, fid: u8) {} [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_fid` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/desfire/card.rs:36:20 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn format_card(mut key: [u8; 16usize], key_id: u8, version: Option) { [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/desfire/key.rs:23:7 [INFO] [stderr] | [INFO] [stderr] 23 | let mut count: usize = 0; [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/desfire/key.rs:56:46 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn change_key_settings(aid: u8, kid: u8, mut key: [u8; 16usize], version: Option, settings: KeySettings) { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: method is never used: `authenticate` [INFO] [stderr] --> src/desfire/desfire.rs:59:3 [INFO] [stderr] | [INFO] [stderr] 59 | pub fn authenticate(&self, key_id: u8, mut key: [u8; 16usize], version: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `generate_new_aes_key` [INFO] [stderr] --> src/desfire/crypto.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | fn generate_new_aes_key () -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `format_card` [INFO] [stderr] --> src/desfire/card.rs:36:1 [INFO] [stderr] | [INFO] [stderr] 36 | pub fn format_card(mut key: [u8; 16usize], key_id: u8, version: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `change_key` [INFO] [stderr] --> src/desfire/key.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | pub fn change_key(aid: u8, kid: u8, mut key_old: [u8; 16usize], mut key_new: [u8; 16usize], version: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_key` [INFO] [stderr] --> src/desfire/key.rs:18:1 [INFO] [stderr] | [INFO] [stderr] 18 | pub fn add_key(aid: u8, kid: u8, mut key_old: [u8; 16usize], mut key_new: [u8; 16usize], version: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `settings_struct_to_u8` [INFO] [stderr] --> src/desfire/key.rs:45:1 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn settings_struct_to_u8(settings: KeySettings) -> u8 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `change_key_settings` [INFO] [stderr] --> src/desfire/key.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | pub fn change_key_settings(aid: u8, kid: u8, mut key: [u8; 16usize], version: Option, settings: KeySettings) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Application` [INFO] [stderr] --> src/desfire/application.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct Application { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Encryption` [INFO] [stderr] --> src/desfire/application.rs:16:1 [INFO] [stderr] | [INFO] [stderr] 16 | pub enum Encryption { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_application` [INFO] [stderr] --> src/desfire/application.rs:21:1 [INFO] [stderr] | [INFO] [stderr] 21 | pub fn add_application(application: Application, key: Option<[u8; 16usize]>, version: Option) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `PersonalizationSettings` [INFO] [stderr] --> src/commands/personalize.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | struct PersonalizationSettings { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/commands/helper.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | io::stdout().flush(); [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/commands/helper.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | io::stdout().flush(); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] error: linking with `cc` failed: exit code: 1 [INFO] [stderr] | [INFO] [stderr] = note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.0.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.1.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.10.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.11.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.12.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.13.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.14.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.15.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.2.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.3.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.4.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.5.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.6.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.7.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.8.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.desfire_tool.50wtdp7m-cgu.9.rcgu.o" "-o" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540" "/opt/crater/target/debug/deps/desfire_tool-7064c54cd2e9e540.4snmihlkqzotrujd.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-nodefaultlibs" "-L" "/opt/crater/target/debug/deps" "-L" "/opt/crater/target/debug/build/backtrace-sys-7c8bf427e9144441/out" "-L" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/crater/target/debug/deps/libcolored-19ae014a7a024b9e.rlib" "/opt/crater/target/debug/deps/libnfc-94cc9247570c648b.rlib" "/opt/crater/target/debug/deps/libquicli-8d38f0707f3bf448.rlib" "/opt/crater/target/debug/deps/libexitfailure-7d61405cb3f6f291.rlib" "/opt/crater/target/debug/deps/librayon-bb3486a1e9d6c91d.rlib" "/opt/crater/target/debug/deps/librayon_core-a5df1a6380072db2.rlib" "/opt/crater/target/debug/deps/libnum_cpus-200c789c679de97a.rlib" "/opt/crater/target/debug/deps/libcrossbeam_queue-da0db7a083d49543.rlib" "/opt/crater/target/debug/deps/libeither-330d39b835267df2.rlib" "/opt/crater/target/debug/deps/libcrossbeam_deque-379ea7e524eddf6e.rlib" "/opt/crater/target/debug/deps/libcrossbeam_epoch-882cde6837a708d4.rlib" "/opt/crater/target/debug/deps/libscopeguard-f1a5efe88a6d7a2c.rlib" "/opt/crater/target/debug/deps/libmemoffset-97aaddce60f38adf.rlib" "/opt/crater/target/debug/deps/libarrayvec-343471a3391f7ac8.rlib" "/opt/crater/target/debug/deps/libnodrop-e7a4f1c1f7749e1f.rlib" "/opt/crater/target/debug/deps/libclap_verbosity_flag-e2c847f6f02d96c0.rlib" "/opt/crater/target/debug/deps/libstructopt-1256c7afa438844d.rlib" "/opt/crater/target/debug/deps/libclap-937f4d05d565c485.rlib" "/opt/crater/target/debug/deps/libvec_map-543e31245cb37b03.rlib" "/opt/crater/target/debug/deps/libtextwrap-e00b32a731dbde30.rlib" "/opt/crater/target/debug/deps/libunicode_width-26f3734d51bc29d0.rlib" "/opt/crater/target/debug/deps/libstrsim-4a39029ad64e04f4.rlib" "/opt/crater/target/debug/deps/libbitflags-7220c27e9b431920.rlib" "/opt/crater/target/debug/deps/libansi_term-d78a4dc68e723c1a.rlib" "/opt/crater/target/debug/deps/libenv_logger-b37bc459e3338086.rlib" "/opt/crater/target/debug/deps/libatty-8ae22126a92705fb.rlib" "/opt/crater/target/debug/deps/libhumantime-11d84e47257e89b2.rlib" "/opt/crater/target/debug/deps/libquick_error-7b5d38789b0fbff0.rlib" "/opt/crater/target/debug/deps/libtermcolor-daa056bf4b66f6ae.rlib" "/opt/crater/target/debug/deps/libglobwalk-6eed7865cba2caa8.rlib" "/opt/crater/target/debug/deps/libignore-6f7a73b55585fefc.rlib" "/opt/crater/target/debug/deps/libwalkdir-f420cbd6f67af467.rlib" "/opt/crater/target/debug/deps/libsame_file-631f2481caf3c3a8.rlib" "/opt/crater/target/debug/deps/libglobset-dadf485dded51d4d.rlib" "/opt/crater/target/debug/deps/libregex-5a8b6a0ee03c0f5a.rlib" "/opt/crater/target/debug/deps/libutf8_ranges-c6a873325be34359.rlib" "/opt/crater/target/debug/deps/libregex_syntax-790a1679cc29ae4c.rlib" "/opt/crater/target/debug/deps/libucd_util-317f57fa3d89c7e4.rlib" "/opt/crater/target/debug/deps/libthread_local-0d1f504ec86ae5ec.rlib" "/opt/crater/target/debug/deps/liblog-e6944616a499931a.rlib" "/opt/crater/target/debug/deps/libfnv-0d57e5fd8327cc13.rlib" "/opt/crater/target/debug/deps/libbstr-39de89add4fb0b42.rlib" "/opt/crater/target/debug/deps/libaho_corasick-84e1d14c672bf12e.rlib" "/opt/crater/target/debug/deps/libmemchr-8646d48e9f0a5d49.rlib" "/opt/crater/target/debug/deps/libcrossbeam_channel-7a68e662ad60e98a.rlib" "/opt/crater/target/debug/deps/libsmallvec-e7fd7440a8b77331.rlib" "/opt/crater/target/debug/deps/libcrossbeam_utils-bb2b9a56b4930d42.rlib" "/opt/crater/target/debug/deps/liblazy_static-35422c5bca3b6d90.rlib" "/opt/crater/target/debug/deps/libremove_dir_all-5c8f22a51d235b87.rlib" "/opt/crater/target/debug/deps/libfailure-fd873ba9ec5ae361.rlib" "/opt/crater/target/debug/deps/libbacktrace-800beb9a9b801751.rlib" "/opt/crater/target/debug/deps/libbacktrace_sys-811c33c24c8be0d8.rlib" "/opt/crater/target/debug/deps/librustc_demangle-d6489bf3118003aa.rlib" "/opt/crater/target/debug/deps/libcfg_if-29b6f8db75d699b1.rlib" "/opt/crater/target/debug/deps/librand-6af85c75b0db9de2.rlib" "/opt/crater/target/debug/deps/librand_xorshift-6a66fc50e6498d00.rlib" "/opt/crater/target/debug/deps/librand_pcg-bbd1995c669eabc3.rlib" "/opt/crater/target/debug/deps/librand_hc-83283ab0a0ee3df8.rlib" "/opt/crater/target/debug/deps/librand_chacha-13e64131fa1aab21.rlib" "/opt/crater/target/debug/deps/librand_isaac-94fc18115e9afd61.rlib" "/opt/crater/target/debug/deps/librand_core-482fdfb44fe03c92.rlib" "/opt/crater/target/debug/deps/librand_os-7afecdbee6bdc10c.rlib" "/opt/crater/target/debug/deps/librand_jitter-1f73b0ee635ef60d.rlib" "/opt/crater/target/debug/deps/librand_core-a9179eebc82cf0f0.rlib" "/opt/crater/target/debug/deps/libfreefare-384a8285016f899d.rlib" "/opt/crater/target/debug/deps/libfreefare_sys-a74bbe3e9a35067d.rlib" "/opt/crater/target/debug/deps/libnfc_sys-7bae6ee5f6d84852.rlib" "/opt/crater/target/debug/deps/liblibc-350a43dfff55e8f8.rlib" "/opt/crater/target/debug/deps/libtext_io-2b037375b490a807.rlib" "-Wl,--start-group" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-9895e8982b0a79e7.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-57306b8ed3378a0e.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-54463ae5adae3649.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-d99667b199a9875a.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-51f4300e102199f5.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-b3ccf1f7737a6a91.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-157c37a3ceb78853.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-505bcee45aafb736.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-c29abd529ba4452b.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-895383a3232f6572.rlib" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-5594cb4f559bc761.rlib" "-Wl,--end-group" "/opt/crater/rustup-home/toolchains/1.36.0-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-38e90baf978bc428.rlib" "-Wl,-Bdynamic" "-lnfc" "-lfreefare" "-lfreefare" "-lnfc" "-lutil" "-lutil" "-ldl" "-lrt" "-lpthread" "-lgcc_s" "-lc" "-lm" "-lrt" "-lpthread" "-lutil" "-lutil" [INFO] [stderr] = note: /usr/bin/ld: cannot find -lnfc [INFO] [stderr] /usr/bin/ld: cannot find -lfreefare [INFO] [stderr] /usr/bin/ld: cannot find -lfreefare [INFO] [stderr] /usr/bin/ld: cannot find -lnfc [INFO] [stderr] collect2: error: ld returned 1 exit status [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] error: aborting due to previous error [INFO] [stderr] [INFO] [stderr] error: Could not compile `desfire-tool`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "e2bea30cb0fbafca538fda9834601a75e6f508a77fca475e7dfa5b9602f49e8b"` [INFO] running `"docker" "rm" "-f" "e2bea30cb0fbafca538fda9834601a75e6f508a77fca475e7dfa5b9602f49e8b"` [INFO] [stdout] e2bea30cb0fbafca538fda9834601a75e6f508a77fca475e7dfa5b9602f49e8b