[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 beta-2019-07-23 for beta-1.37-6 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.37-6/worker-0/beta-2019-07-23:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.37-6/sources/beta-2019-07-23/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" "+beta-2019-07-23" "build" "--frozen"` [INFO] [stdout] ee4018b6fa39b11a287053d60b65d1bd3a2b15dddc6850abe2ce5402cde196b0 [INFO] running `"docker" "start" "-a" "ee4018b6fa39b11a287053d60b65d1bd3a2b15dddc6850abe2ce5402cde196b0"` [INFO] [stderr] Compiling syn v0.15.38 [INFO] [stderr] Compiling regex v1.1.7 [INFO] [stderr] Compiling unicode-segmentation v1.3.0 [INFO] [stderr] Compiling utf8-ranges v1.0.3 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Compiling rustc-demangle v0.1.15 [INFO] [stderr] Compiling winapi v0.3.7 [INFO] [stderr] Compiling serde v1.0.93 [INFO] [stderr] Compiling termcolor v1.0.5 [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 backtrace-sys v0.1.28 [INFO] [stderr] Compiling num-traits v0.2.8 [INFO] [stderr] Compiling backtrace v0.3.31 [INFO] [stderr] Compiling rand_chacha v0.1.1 [INFO] [stderr] Compiling rand_pcg v0.1.2 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Compiling crossbeam-utils v0.6.5 [INFO] [stderr] Compiling regex-syntax v0.6.7 [INFO] [stderr] Compiling log v0.4.6 [INFO] [stderr] Compiling walkdir v2.2.8 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling quote v0.6.12 [INFO] [stderr] Compiling bstr v0.1.4 [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 clap v2.33.0 [INFO] [stderr] Compiling freefare-sys v0.2.0 [INFO] [stderr] Compiling nfc v0.1.11 [INFO] [stderr] Compiling crossbeam-epoch v0.7.1 [INFO] [stderr] Compiling crossbeam-channel v0.3.8 [INFO] [stderr] Compiling crossbeam-queue v0.1.2 [INFO] [stderr] Compiling freefare v0.2.0 [INFO] [stderr] Compiling crossbeam-deque v0.6.3 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling rayon v1.1.0 [INFO] [stderr] Compiling winconsole v0.10.0 [INFO] [stderr] Compiling colored v1.8.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 globset v0.4.3 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Compiling ignore v0.4.7 [INFO] [stderr] Compiling structopt v0.2.16 [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 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/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.0.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.1.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.10.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.11.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.12.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.13.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.14.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.15.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.2.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.3.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.4.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.5.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.6.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.7.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.8.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.desfire_tool.6kfp0zzw-cgu.9.rcgu.o" "-o" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284" "/opt/crater/target/debug/deps/desfire_tool-f1a4867c91810284.2hx54p8wijy4zagp.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-27ec4ddc596565f0/out" "-L" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/crater/target/debug/deps/libcolored-c9d65837d2a207b0.rlib" "/opt/crater/target/debug/deps/libnfc-dac06eb932ed71aa.rlib" "/opt/crater/target/debug/deps/libquicli-abdfa8e1151fca6b.rlib" "/opt/crater/target/debug/deps/libexitfailure-876ccf518d86d45a.rlib" "/opt/crater/target/debug/deps/librayon-0bfa15971a81432f.rlib" "/opt/crater/target/debug/deps/librayon_core-f4052d2c7a66b20b.rlib" "/opt/crater/target/debug/deps/libnum_cpus-b405f9d6d6c00245.rlib" "/opt/crater/target/debug/deps/libcrossbeam_queue-2d9dc9e894e5ed5a.rlib" "/opt/crater/target/debug/deps/libeither-09ec7c1188b8d0d0.rlib" "/opt/crater/target/debug/deps/libcrossbeam_deque-26a6e1bcbdcd9d6f.rlib" "/opt/crater/target/debug/deps/libcrossbeam_epoch-02af1f0e1b13afb4.rlib" "/opt/crater/target/debug/deps/libscopeguard-afc08b825b950866.rlib" "/opt/crater/target/debug/deps/libmemoffset-ef971ccc3957ca71.rlib" "/opt/crater/target/debug/deps/libarrayvec-940fecd1aefd4712.rlib" "/opt/crater/target/debug/deps/libnodrop-36ce0cdfb7359e6a.rlib" "/opt/crater/target/debug/deps/libclap_verbosity_flag-d043cdbca7343acb.rlib" "/opt/crater/target/debug/deps/libstructopt-0c007e1ec1f2a87c.rlib" "/opt/crater/target/debug/deps/libclap-713156b46cc618df.rlib" "/opt/crater/target/debug/deps/libvec_map-d15ddac8fbd5a1a7.rlib" "/opt/crater/target/debug/deps/libtextwrap-a7f85f046874f4da.rlib" "/opt/crater/target/debug/deps/libunicode_width-5c65625ac38072b6.rlib" "/opt/crater/target/debug/deps/libstrsim-b714068d90a275c7.rlib" "/opt/crater/target/debug/deps/libbitflags-1f73faaef27177be.rlib" "/opt/crater/target/debug/deps/libansi_term-a8ee7a34610f25b5.rlib" "/opt/crater/target/debug/deps/libenv_logger-63652834ddce0c2d.rlib" "/opt/crater/target/debug/deps/libatty-dcd50d2e913b9df1.rlib" "/opt/crater/target/debug/deps/libhumantime-39d793d15deb41e2.rlib" "/opt/crater/target/debug/deps/libquick_error-7d23d7c8e4749989.rlib" "/opt/crater/target/debug/deps/libtermcolor-4f73a4038638252f.rlib" "/opt/crater/target/debug/deps/libglobwalk-0892a97356877099.rlib" "/opt/crater/target/debug/deps/libignore-64466a464bb73118.rlib" "/opt/crater/target/debug/deps/libwalkdir-97a1cf8f68b8fff8.rlib" "/opt/crater/target/debug/deps/libsame_file-8f492d48c8e73b57.rlib" "/opt/crater/target/debug/deps/libglobset-7358a867a732f23b.rlib" "/opt/crater/target/debug/deps/libregex-03ef49ee559c3f57.rlib" "/opt/crater/target/debug/deps/libutf8_ranges-32fecc95d998aacd.rlib" "/opt/crater/target/debug/deps/libregex_syntax-f474b4dd179d2ab9.rlib" "/opt/crater/target/debug/deps/libucd_util-764be33a5792116c.rlib" "/opt/crater/target/debug/deps/libthread_local-1060038c0757fbc7.rlib" "/opt/crater/target/debug/deps/liblog-181e1718e3bc0d95.rlib" "/opt/crater/target/debug/deps/libfnv-9c46c9dc8e117f05.rlib" "/opt/crater/target/debug/deps/libbstr-fd6342207ab67bcd.rlib" "/opt/crater/target/debug/deps/libaho_corasick-e0797337cb81be2c.rlib" "/opt/crater/target/debug/deps/libmemchr-68618f5f352deb4e.rlib" "/opt/crater/target/debug/deps/libcrossbeam_channel-1ae82e2e6f5c638b.rlib" "/opt/crater/target/debug/deps/libsmallvec-3009c93eda7cf4fa.rlib" "/opt/crater/target/debug/deps/libcrossbeam_utils-1eedbdcadcb14ec2.rlib" "/opt/crater/target/debug/deps/liblazy_static-6a4e8ea56a445919.rlib" "/opt/crater/target/debug/deps/libremove_dir_all-94694d3a4421a2a2.rlib" "/opt/crater/target/debug/deps/libfailure-6fb11d0c4a652482.rlib" "/opt/crater/target/debug/deps/libbacktrace-2af724f42d98c165.rlib" "/opt/crater/target/debug/deps/libbacktrace_sys-009535b179ed28f9.rlib" "/opt/crater/target/debug/deps/librustc_demangle-77014e9d388dc77b.rlib" "/opt/crater/target/debug/deps/libcfg_if-17244d8fcea476bd.rlib" "/opt/crater/target/debug/deps/librand-5a99dc109bcb127e.rlib" "/opt/crater/target/debug/deps/librand_xorshift-5e391b21601b8393.rlib" "/opt/crater/target/debug/deps/librand_pcg-569da70b9707a4e4.rlib" "/opt/crater/target/debug/deps/librand_hc-8d037a8bb74cc960.rlib" "/opt/crater/target/debug/deps/librand_chacha-e0df01830eb2547c.rlib" "/opt/crater/target/debug/deps/librand_isaac-8a1220a5cdc55703.rlib" "/opt/crater/target/debug/deps/librand_core-5af554ddf81cd17c.rlib" "/opt/crater/target/debug/deps/librand_os-7316fd6dca5bc093.rlib" "/opt/crater/target/debug/deps/librand_jitter-162e89fc4f3652f5.rlib" "/opt/crater/target/debug/deps/librand_core-4c9a550ae16dbf0f.rlib" "/opt/crater/target/debug/deps/libfreefare-688355a66302285a.rlib" "/opt/crater/target/debug/deps/libfreefare_sys-8913363e4ecdcb81.rlib" "/opt/crater/target/debug/deps/libnfc_sys-011985803b79b277.rlib" "/opt/crater/target/debug/deps/liblibc-ad8c0d636a224a51.rlib" "/opt/crater/target/debug/deps/libtext_io-0fb73ba5170172b4.rlib" "-Wl,--start-group" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-a80a1e8e09cafef8.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e0e6351da805c468.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-e04f54bafc95e331.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-67901d3322495bd5.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-bd390b1abaceaec1.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-312dd37fdc7bedfc.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-8ed0e51d58d644a3.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-8a423c320a6c707f.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-d6a95598e2238263.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-d231614b153016eb.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-3821619027f463e4.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-1cfd794d18771a44.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-dcf33cf10c2452ef.rlib" "-Wl,--end-group" "/opt/crater/rustup-home/toolchains/beta-2019-07-23-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-c258fea34bf64bce.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" "ee4018b6fa39b11a287053d60b65d1bd3a2b15dddc6850abe2ce5402cde196b0"` [INFO] running `"docker" "rm" "-f" "ee4018b6fa39b11a287053d60b65d1bd3a2b15dddc6850abe2ce5402cde196b0"` [INFO] [stdout] ee4018b6fa39b11a287053d60b65d1bd3a2b15dddc6850abe2ce5402cde196b0