[INFO] updating cached repository zandemax/desfire-tool [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/zandemax/desfire-tool [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/zandemax/desfire-tool" "work/ex/beta-1.38-1/sources/1.37.0/gh/zandemax/desfire-tool"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/zandemax/desfire-tool'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/zandemax/desfire-tool" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/zandemax/desfire-tool"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/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.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of zandemax/desfire-tool on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "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.38-1/sources/1.37.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.38-1/sources/beta-2019-08-13/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.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] testing zandemax/desfire-tool against beta-2019-08-13 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-3/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/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-08-13" "build" "--frozen"` [INFO] [stdout] b918e0dc5facf12c1fd19cf4500c0b13d1bcedeeefa00b2fecf8d74d128b5350 [INFO] running `"docker" "start" "-a" "b918e0dc5facf12c1fd19cf4500c0b13d1bcedeeefa00b2fecf8d74d128b5350"` [INFO] [stderr] Compiling libc v0.2.58 [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 smallvec v0.6.10 [INFO] [stderr] Compiling winapi v0.3.7 [INFO] [stderr] Compiling cgmath v0.16.1 [INFO] [stderr] Compiling serde v1.0.93 [INFO] [stderr] Compiling termcolor v1.0.5 [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 num-traits v0.2.8 [INFO] [stderr] Compiling arrayvec v0.4.10 [INFO] [stderr] Compiling crossbeam-utils v0.6.5 [INFO] [stderr] Compiling backtrace v0.3.31 [INFO] [stderr] Compiling log v0.4.6 [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 regex-syntax v0.6.7 [INFO] [stderr] Compiling walkdir v2.2.8 [INFO] [stderr] Compiling heck v0.3.1 [INFO] [stderr] Compiling bstr v0.1.4 [INFO] [stderr] Compiling crossbeam-queue v0.1.2 [INFO] [stderr] Compiling crossbeam-channel v0.3.8 [INFO] [stderr] Compiling crossbeam-epoch v0.7.1 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Compiling backtrace-sys v0.1.28 [INFO] [stderr] Compiling rand v0.4.6 [INFO] [stderr] Compiling num_cpus v1.10.1 [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 crossbeam-deque v0.6.3 [INFO] [stderr] Compiling freefare-sys v0.2.0 [INFO] [stderr] Compiling nfc v0.1.11 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling rayon-core v1.5.0 [INFO] [stderr] Compiling freefare v0.2.0 [INFO] [stderr] Compiling rayon v1.1.0 [INFO] [stderr] Compiling synstructure v0.10.2 [INFO] [stderr] Compiling globset v0.4.3 [INFO] [stderr] Compiling env_logger v0.5.13 [INFO] [stderr] Compiling winconsole v0.10.0 [INFO] [stderr] Compiling structopt-derive v0.2.16 [INFO] [stderr] Compiling serde_derive v1.0.93 [INFO] [stderr] Compiling ignore v0.4.7 [INFO] [stderr] Compiling colored v1.8.0 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Compiling globwalk v0.3.1 [INFO] [stderr] Compiling structopt v0.2.16 [INFO] [stderr] Compiling failure v0.1.5 [INFO] [stderr] Compiling clap-verbosity-flag v0.2.0 [INFO] [stderr] Compiling exitfailure v0.5.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-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.0.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.1.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.10.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.11.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.12.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.13.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.14.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.15.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.2.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.3.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.4.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.5.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.6.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.7.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.8.rcgu.o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.desfire_tool.9f8tpjxl-cgu.9.rcgu.o" "-o" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f" "/opt/crater/target/debug/deps/desfire_tool-46c68ddd1a899d0f.34e5zxr097wmt405.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-bc0eccdb734f5f6e/out" "-L" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/opt/crater/target/debug/deps/libcolored-bb434eba0c835d40.rlib" "/opt/crater/target/debug/deps/libnfc-128cec4a04ef908b.rlib" "/opt/crater/target/debug/deps/libquicli-0d7ce7c0c64aefbf.rlib" "/opt/crater/target/debug/deps/libexitfailure-716be6d13b97869c.rlib" "/opt/crater/target/debug/deps/librayon-c8d7376ff7524e08.rlib" "/opt/crater/target/debug/deps/librayon_core-3a5499723658deed.rlib" "/opt/crater/target/debug/deps/libnum_cpus-ecdb0e054314da39.rlib" "/opt/crater/target/debug/deps/libcrossbeam_queue-d3276ef21c0971e3.rlib" "/opt/crater/target/debug/deps/libeither-0991b1b51775eba9.rlib" "/opt/crater/target/debug/deps/libcrossbeam_deque-80e45044a0d09bb4.rlib" "/opt/crater/target/debug/deps/libcrossbeam_epoch-66d24a5573820fdd.rlib" "/opt/crater/target/debug/deps/libscopeguard-22a7afc64d55fe2c.rlib" "/opt/crater/target/debug/deps/libmemoffset-81f7e9a5af225363.rlib" "/opt/crater/target/debug/deps/libarrayvec-af01a0d346bcce40.rlib" "/opt/crater/target/debug/deps/libnodrop-7f98e5f8ec110eeb.rlib" "/opt/crater/target/debug/deps/libclap_verbosity_flag-ed643f2fe980fbd4.rlib" "/opt/crater/target/debug/deps/libstructopt-f5f6d3af72cbac75.rlib" "/opt/crater/target/debug/deps/libclap-b60e943010764628.rlib" "/opt/crater/target/debug/deps/libvec_map-dfe47d7ef870925b.rlib" "/opt/crater/target/debug/deps/libtextwrap-1bfd55d095ac62fb.rlib" "/opt/crater/target/debug/deps/libunicode_width-be270ae5acdefae2.rlib" "/opt/crater/target/debug/deps/libstrsim-71052c127de7173f.rlib" "/opt/crater/target/debug/deps/libbitflags-c2b055ef483e7b37.rlib" "/opt/crater/target/debug/deps/libansi_term-8091014737d4fb0a.rlib" "/opt/crater/target/debug/deps/libenv_logger-2e3d4aeb0ac87f5a.rlib" "/opt/crater/target/debug/deps/libatty-fbca3482e77b1f67.rlib" "/opt/crater/target/debug/deps/libhumantime-fe7582828726b442.rlib" "/opt/crater/target/debug/deps/libquick_error-f50ea951eae373ef.rlib" "/opt/crater/target/debug/deps/libtermcolor-79496754b4470ebc.rlib" "/opt/crater/target/debug/deps/libglobwalk-aa57d2aa4682952d.rlib" "/opt/crater/target/debug/deps/libignore-65211289674e0e30.rlib" "/opt/crater/target/debug/deps/libwalkdir-348b6efa7dd24c08.rlib" "/opt/crater/target/debug/deps/libsame_file-a0b7a1723fc6f37c.rlib" "/opt/crater/target/debug/deps/libglobset-ed8eec8ec5e05d16.rlib" "/opt/crater/target/debug/deps/libregex-918e113b6a8edb88.rlib" "/opt/crater/target/debug/deps/libutf8_ranges-6b77e32691170d2b.rlib" "/opt/crater/target/debug/deps/libregex_syntax-7cd9b626a2bb2071.rlib" "/opt/crater/target/debug/deps/libucd_util-57957d64f2b3380e.rlib" "/opt/crater/target/debug/deps/libthread_local-2ae771cec36f83c2.rlib" "/opt/crater/target/debug/deps/liblog-c164a82301b8e379.rlib" "/opt/crater/target/debug/deps/libfnv-6e18f98be4338210.rlib" "/opt/crater/target/debug/deps/libbstr-5db340e2bb71e224.rlib" "/opt/crater/target/debug/deps/libaho_corasick-96d33e4c709ae69f.rlib" "/opt/crater/target/debug/deps/libmemchr-1296ff5b4e76b3d1.rlib" "/opt/crater/target/debug/deps/libcrossbeam_channel-6b6b896833da0d68.rlib" "/opt/crater/target/debug/deps/libsmallvec-7295b1a781bd56b7.rlib" "/opt/crater/target/debug/deps/libcrossbeam_utils-bea5d60148bf2807.rlib" "/opt/crater/target/debug/deps/liblazy_static-1f7a4359e40a6da9.rlib" "/opt/crater/target/debug/deps/libremove_dir_all-51acb8a212d22924.rlib" "/opt/crater/target/debug/deps/libfailure-1576641d670fb0c1.rlib" "/opt/crater/target/debug/deps/libbacktrace-2ae6670cc8eba6b2.rlib" "/opt/crater/target/debug/deps/libbacktrace_sys-a1f02eda04dbb7b8.rlib" "/opt/crater/target/debug/deps/librustc_demangle-72fbb793df665fc0.rlib" "/opt/crater/target/debug/deps/libcfg_if-c978b2f886ff1de7.rlib" "/opt/crater/target/debug/deps/librand-46e5bb1ec9158b1b.rlib" "/opt/crater/target/debug/deps/librand_xorshift-7b19cb00158fa6fb.rlib" "/opt/crater/target/debug/deps/librand_pcg-fd090d7dc2d08239.rlib" "/opt/crater/target/debug/deps/librand_hc-0652ab44c5db9eb2.rlib" "/opt/crater/target/debug/deps/librand_chacha-2ba4facd0ce4a76b.rlib" "/opt/crater/target/debug/deps/librand_isaac-a4f79f4126c1f25d.rlib" "/opt/crater/target/debug/deps/librand_core-4dce960811a60b1d.rlib" "/opt/crater/target/debug/deps/librand_os-8d93803c74c12499.rlib" "/opt/crater/target/debug/deps/librand_jitter-d9d513b2a8e629e5.rlib" "/opt/crater/target/debug/deps/librand_core-948b7aad8fedc31f.rlib" "/opt/crater/target/debug/deps/libfreefare-e37b76015c04c1e2.rlib" "/opt/crater/target/debug/deps/libfreefare_sys-de39a971a11c2696.rlib" "/opt/crater/target/debug/deps/libnfc_sys-f37e8ebe64e325f3.rlib" "/opt/crater/target/debug/deps/liblibc-77ac96e88d0cb9e6.rlib" "/opt/crater/target/debug/deps/libtext_io-682a65b3db4f5623.rlib" "-Wl,--start-group" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-1d6d86bd078a28e9.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-e9721e46a424e2a9.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace-c07193698f282147.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libbacktrace_sys-6da45690f3863086.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-690797036dd27680.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-d3896ccbfd8eda2b.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-7cccc3739e3d7623.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-5e9ba178a513cd29.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-5ca9f83bf63d1f4b.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-bba1c7ef9e950882.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-e23c9de62012deb5.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-9b59dffdcd513d5d.rlib" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-17392340ab2e4a97.rlib" "-Wl,--end-group" "/opt/crater/rustup-home/toolchains/beta-2019-08-13-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-ac21508a81e3f7f3.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" "b918e0dc5facf12c1fd19cf4500c0b13d1bcedeeefa00b2fecf8d74d128b5350"` [INFO] running `"docker" "rm" "-f" "b918e0dc5facf12c1fd19cf4500c0b13d1bcedeeefa00b2fecf8d74d128b5350"` [INFO] [stdout] b918e0dc5facf12c1fd19cf4500c0b13d1bcedeeefa00b2fecf8d74d128b5350