[INFO] cloning repository https://github.com/wistrandj/rust-zk
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/wistrandj/rust-zk" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwistrandj%2Frust-zk", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwistrandj%2Frust-zk'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 594332d3b6c860519676cb3f7a34cf759d99dc88
[INFO] testing wistrandj/rust-zk against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwistrandj%2Frust-zk" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/wistrandj/rust-zk
[INFO] finished tweaking git repo https://github.com/wistrandj/rust-zk
[INFO] tweaked toml for git repo https://github.com/wistrandj/rust-zk written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/wistrandj/rust-zk on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/wistrandj/rust-zk already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 14ca609d76e72acba8bea61fb73a8d7b927f484fa993352a414488bfd009b533
[INFO] running `Command { std: "docker" "start" "-a" "14ca609d76e72acba8bea61fb73a8d7b927f484fa993352a414488bfd009b533", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "14ca609d76e72acba8bea61fb73a8d7b927f484fa993352a414488bfd009b533", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14ca609d76e72acba8bea61fb73a8d7b927f484fa993352a414488bfd009b533", kill_on_drop: false }`
[INFO] [stdout] 14ca609d76e72acba8bea61fb73a8d7b927f484fa993352a414488bfd009b533
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 92afd5cdf7bb33e94f9db65055db56be978d78a09276c7dd01c7d6d48a88de82
[INFO] running `Command { std: "docker" "start" "-a" "92afd5cdf7bb33e94f9db65055db56be978d78a09276c7dd01c7d6d48a88de82", kill_on_drop: false }`
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling ahash v0.4.6
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling smallvec v1.4.2
[INFO] [stderr]    Compiling libsqlite3-sys v0.20.1
[INFO] [stderr]    Compiling cpuid-bool v0.1.2
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling hashlink v0.6.0
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling rusqlite v0.24.1
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling sha2 v0.9.2
[INFO] [stderr]    Compiling rust-zk v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]  --> src/control/content.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rusqlite::{Connection, params};
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/control/content.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::hash`
[INFO] [stdout]   --> src/control/content.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::hash;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]  --> src/control/tag.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusqlite::{Connection, params};
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::card::Face`
[INFO] [stdout]  --> src/model/blob.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::card::Face;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/model/schema.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/feature.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |         Ok(number) => (number == 1),
[INFO] [stdout]    |                       ^           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         Ok(number) => (number == 1),
[INFO] [stdout] 24 +         Ok(number) => number == 1 ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/feature.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Ok(number) => (number == 1),
[INFO] [stdout]    |                       ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 41 -         Ok(number) => (number == 1),
[INFO] [stdout] 41 +         Ok(number) => number == 1 ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> src/control/content.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn all_timeline_cards(conn: &Connection) -> Vec<Meta> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `folder`
[INFO] [stdout]   --> src/control/content.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn all_open_cards(folder: &Path) -> Vec<Meta> {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_folder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> src/control/content.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn timestamp_of_file(file: &Path) -> Timestamp {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/control/tag.rs:102:28
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn call_once(self, args: ()) -> Result<(), &'static str> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/model/carddb.rs:28:16
[INFO] [stdout]    |
[INFO] [stdout] 28 |     if let Err(msg) = success {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/model/tag.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut stmt = self.connection.prepare(sql);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeline_file`
[INFO] [stdout]   --> src/zkinit.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn zkinit(timeline_file: &PathBuf, args: &varg::Args) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeline_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/card/meta.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn eq(&self, other: &Timestamp) -> bool {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/card/meta.rs:35:27
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn partial_cmp(&self, other: &Timestamp) -> Option<Ordering> {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]  --> src/feature.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn enable_feature(name: &str, conn: &mut Connection, feature: &dyn Feature) {
[INFO] [stdout]   |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/feature.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn has_feature_table(name: &str, conn: &Connection) -> bool {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/feature.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn has(name: &str, conn: &Connection) -> bool {
[INFO] [stdout]    |            ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> src/hash.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn from_str(slice: &str) -> Hash {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hi`
[INFO] [stdout]   --> src/hash.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lo`
[INFO] [stdout]   --> src/hash.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set`
[INFO] [stdout]   --> src/hash.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let set = b"0123456789abcdef";
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeline`
[INFO] [stdout]   --> src/zktag.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn zktag(timeline: &PathBuf, args: &Args) -> Result<(), &'static str> {
[INFO] [stdout]    |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_timeline_cards` is never used
[INFO] [stdout]   --> src/control/content.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn all_timeline_cards(conn: &Connection) -> Vec<Meta> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_open_cards` is never used
[INFO] [stdout]   --> src/control/content.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn all_open_cards(folder: &Path) -> Vec<Meta> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `timestamp_of_file` is never used
[INFO] [stdout]   --> src/control/content.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn timestamp_of_file(file: &Path) -> Timestamp {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modified_open_cards` is never used
[INFO] [stdout]   --> src/control/content.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn modified_open_cards(folder: &Path, conn: &Connection) -> Vec<Meta> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateTagHistoryBatch` is never constructed
[INFO] [stdout]   --> src/control/tag.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct CreateTagHistoryBatch<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DropLatestTagHistoryBatch` is never constructed
[INFO] [stdout]   --> src/control/tag.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct DropLatestTagHistoryBatch<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `call_once` are never used
[INFO] [stdout]    --> src/control/tag.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl<'a> CreateTagHistoryBatch<'a> {
[INFO] [stdout]     | ---------------------------------- associated items in this implementation
[INFO] [stdout] 147 |     pub fn new(connection: &'a Connection) -> Result<CreateTagHistoryBatch<'a>, &'static str> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn call_once(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `call_once` are never used
[INFO] [stdout]    --> src/control/tag.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl<'a> DropLatestTagHistoryBatch<'a> {
[INFO] [stdout]     | -------------------------------------- associated items in this implementation
[INFO] [stdout] 163 |     pub fn new(connection: &'a Connection) -> Result<DropLatestTagHistoryBatch<'a>, &'static str> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn call_once(self) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load` is never used
[INFO] [stdout]   --> src/model/blob.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn load(conn: &Connection, sha256: hash::Hash) -> Option<Vec<u8>> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cards` is never used
[INFO] [stdout]  --> src/model/carddb.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn cards(conn: &mut Connection) -> Vec<Face> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_major_card` is never used
[INFO] [stdout]   --> src/model/cardfolder.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn next_major_card(folder: &PathBuf) -> Face {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_cards` is never used
[INFO] [stdout]   --> src/model/cardfolder.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn list_cards(path: &Path) -> Vec<Face> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `latest_batch_id_or_zero`, `insert_tag_to_a_batch_history`, `delete_card_tags_in_a_batch`, and `delete_batch_from_history` are never used
[INFO] [stdout]    --> src/model/tag.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl<'a> TagFeature<'a> {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn latest_batch_id_or_zero(&self) -> Result<usize, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn insert_tag_to_a_batch_history(&self, batch_id: usize, tag_name: &str, major_card_number: usize) -> Result<(), &'static s...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn delete_card_tags_in_a_batch(&self, batch_id: usize) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn delete_batch_from_history(&self, batch_id: usize) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `A` is never constructed
[INFO] [stdout]  --> src/zkset.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct A {
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_major` is never used
[INFO] [stdout]    --> src/card/face.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Face {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn is_major(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Meta` is never constructed
[INFO] [stdout]  --> src/card/meta.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Meta {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Timestamp` is never constructed
[INFO] [stdout]   --> src/card/meta.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Timestamp { }
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rollback` is never used
[INFO] [stdout]  --> src/feature.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Feature {
[INFO] [stdout]   |           ------- method in this trait
[INFO] [stdout] 4 |     fn enable(&self, conn: &mut Connection);
[INFO] [stdout] 5 |     fn rollback(&self, conn: &mut Connection);
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has` is never used
[INFO] [stdout]   --> src/feature.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn has(name: &str, conn: &Connection) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_text` and `from_str` are never used
[INFO] [stdout]   --> src/hash.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Hash {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn from_text(slice: &str) -> Hash {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn from_str(slice: &str) -> Hash {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hexcharvalue` is never used
[INFO] [stdout]   --> src/hash.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hexslice` is never used
[INFO] [stdout]    --> src/hash.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn hexslice(slice: &str) -> [u8; Sha256_size] {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     zktag::zktag(timeline_file, &args);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     let _ = zktag::zktag(timeline_file, &args);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `Sha256_size` should have an upper case name
[INFO] [stdout]  --> src/hash.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const Sha256_size: usize = 32;
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 8 - const Sha256_size: usize = 32;
[INFO] [stdout] 8 + const SHA256_SIZE: usize = 32;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zktag.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         cmd.call_once(());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let _ = cmd.call_once(());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.74s
[INFO] running `Command { std: "docker" "inspect" "92afd5cdf7bb33e94f9db65055db56be978d78a09276c7dd01c7d6d48a88de82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92afd5cdf7bb33e94f9db65055db56be978d78a09276c7dd01c7d6d48a88de82", kill_on_drop: false }`
[INFO] [stdout] 92afd5cdf7bb33e94f9db65055db56be978d78a09276c7dd01c7d6d48a88de82
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] bd2e09d6ab23b5a44be8f6c8a29500457ba752d2f093db7c1111ed9fca017ae8
[INFO] running `Command { std: "docker" "start" "-a" "bd2e09d6ab23b5a44be8f6c8a29500457ba752d2f093db7c1111ed9fca017ae8", kill_on_drop: false }`
[INFO] [stderr]    Compiling rust-zk v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]  --> src/control/content.rs:4:28
[INFO] [stdout]   |
[INFO] [stdout] 4 | use rusqlite::{Connection, params};
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs`
[INFO] [stdout]  --> src/control/content.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::fs;
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::hash`
[INFO] [stdout]   --> src/control/content.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::hash;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]  --> src/control/tag.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use rusqlite::{Connection, params};
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::card::Face`
[INFO] [stdout]  --> src/model/blob.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::card::Face;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashSet`
[INFO] [stdout]  --> src/model/schema.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashSet;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/feature.rs:24:23
[INFO] [stdout]    |
[INFO] [stdout] 24 |         Ok(number) => (number == 1),
[INFO] [stdout]    |                       ^           ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 24 -         Ok(number) => (number == 1),
[INFO] [stdout] 24 +         Ok(number) => number == 1 ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around match arm expression
[INFO] [stdout]   --> src/feature.rs:41:23
[INFO] [stdout]    |
[INFO] [stdout] 41 |         Ok(number) => (number == 1),
[INFO] [stdout]    |                       ^           ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 41 -         Ok(number) => (number == 1),
[INFO] [stdout] 41 +         Ok(number) => number == 1 ,
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/varg.rs:112:13
[INFO] [stdout]     |
[INFO] [stdout] 112 |         let mut a1: Vec<String> = vec![];
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/varg.rs:113:13
[INFO] [stdout]     |
[INFO] [stdout] 113 |         let mut a2: Vec<String> = vec!["--timeline"].iter().map(|s| s.to_string()).collect();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/varg.rs:114:13
[INFO] [stdout]     |
[INFO] [stdout] 114 |         let mut a3: Vec<String> = vec!["./timeline.db"].iter().map(|s| s.to_string()).collect();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/varg.rs:115:13
[INFO] [stdout]     |
[INFO] [stdout] 115 |         let mut a4: Vec<String> = vec!["first", "--timeline"].iter().map(|s| s.to_string()).collect();
[INFO] [stdout]     |             ----^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `conn`
[INFO] [stdout]   --> src/control/content.rs:12:23
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn all_timeline_cards(conn: &Connection) -> Vec<Meta> {
[INFO] [stdout]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `folder`
[INFO] [stdout]   --> src/control/content.rs:16:19
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn all_open_cards(folder: &Path) -> Vec<Meta> {
[INFO] [stdout]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_folder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `file`
[INFO] [stdout]   --> src/control/content.rs:20:22
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn timestamp_of_file(file: &Path) -> Timestamp {
[INFO] [stdout]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/control/tag.rs:102:28
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub fn call_once(self, args: ()) -> Result<(), &'static str> {
[INFO] [stdout]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `msg`
[INFO] [stdout]   --> src/model/carddb.rs:28:16
[INFO] [stdout]    |
[INFO] [stdout] 28 |     if let Err(msg) = success {
[INFO] [stdout]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/model/tag.rs:19:13
[INFO] [stdout]    |
[INFO] [stdout] 19 |         let mut stmt = self.connection.prepare(sql);
[INFO] [stdout]    |             ----^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeline_file`
[INFO] [stdout]   --> src/zkinit.rs:70:15
[INFO] [stdout]    |
[INFO] [stdout] 70 | pub fn zkinit(timeline_file: &PathBuf, args: &varg::Args) {
[INFO] [stdout]    |               ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeline_file`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/card/meta.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn eq(&self, other: &Timestamp) -> bool {
[INFO] [stdout]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `other`
[INFO] [stdout]   --> src/card/meta.rs:35:27
[INFO] [stdout]    |
[INFO] [stdout] 35 |     fn partial_cmp(&self, other: &Timestamp) -> Option<Ordering> {
[INFO] [stdout]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]  --> src/feature.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn enable_feature(name: &str, conn: &mut Connection, feature: &dyn Feature) {
[INFO] [stdout]   |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/feature.rs:12:26
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub fn has_feature_table(name: &str, conn: &Connection) -> bool {
[INFO] [stdout]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/feature.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn has(name: &str, conn: &Connection) -> bool {
[INFO] [stdout]    |            ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `slice`
[INFO] [stdout]   --> src/hash.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fn from_str(slice: &str) -> Hash {
[INFO] [stdout]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hi`
[INFO] [stdout]   --> src/hash.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stdout]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_hi`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lo`
[INFO] [stdout]   --> src/hash.rs:90:25
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stdout]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_lo`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `set`
[INFO] [stdout]   --> src/hash.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     let set = b"0123456789abcdef";
[INFO] [stdout]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `timeline`
[INFO] [stdout]   --> src/zktag.rs:88:14
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub fn zktag(timeline: &PathBuf, args: &Args) -> Result<(), &'static str> {
[INFO] [stdout]    |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeline`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_timeline_cards` is never used
[INFO] [stdout]   --> src/control/content.rs:12:4
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn all_timeline_cards(conn: &Connection) -> Vec<Meta> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `all_open_cards` is never used
[INFO] [stdout]   --> src/control/content.rs:16:4
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn all_open_cards(folder: &Path) -> Vec<Meta> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `timestamp_of_file` is never used
[INFO] [stdout]   --> src/control/content.rs:20:4
[INFO] [stdout]    |
[INFO] [stdout] 20 | fn timestamp_of_file(file: &Path) -> Timestamp {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `modified_open_cards` is never used
[INFO] [stdout]   --> src/control/content.rs:25:4
[INFO] [stdout]    |
[INFO] [stdout] 25 | fn modified_open_cards(folder: &Path, conn: &Connection) -> Vec<Meta> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreateTagHistoryBatch` is never constructed
[INFO] [stdout]   --> src/control/tag.rs:29:12
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct CreateTagHistoryBatch<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DropLatestTagHistoryBatch` is never constructed
[INFO] [stdout]   --> src/control/tag.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct DropLatestTagHistoryBatch<'a> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `call_once` are never used
[INFO] [stdout]    --> src/control/tag.rs:147:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | impl<'a> CreateTagHistoryBatch<'a> {
[INFO] [stdout]     | ---------------------------------- associated items in this implementation
[INFO] [stdout] 147 |     pub fn new(connection: &'a Connection) -> Result<CreateTagHistoryBatch<'a>, &'static str> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn call_once(&self) {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `call_once` are never used
[INFO] [stdout]    --> src/control/tag.rs:163:12
[INFO] [stdout]     |
[INFO] [stdout] 162 | impl<'a> DropLatestTagHistoryBatch<'a> {
[INFO] [stdout]     | -------------------------------------- associated items in this implementation
[INFO] [stdout] 163 |     pub fn new(connection: &'a Connection) -> Result<DropLatestTagHistoryBatch<'a>, &'static str> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     pub fn call_once(self) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load` is never used
[INFO] [stdout]   --> src/model/blob.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn load(conn: &Connection, sha256: hash::Hash) -> Option<Vec<u8>> {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `cards` is never used
[INFO] [stdout]  --> src/model/carddb.rs:6:4
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn cards(conn: &mut Connection) -> Vec<Face> {
[INFO] [stdout]   |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_major_card` is never used
[INFO] [stdout]   --> src/model/cardfolder.rs:62:8
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub fn next_major_card(folder: &PathBuf) -> Face {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `list_cards` is never used
[INFO] [stdout]   --> src/model/cardfolder.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn list_cards(path: &Path) -> Vec<Face> {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `latest_batch_id_or_zero`, `insert_tag_to_a_batch_history`, `delete_card_tags_in_a_batch`, and `delete_batch_from_history` are never used
[INFO] [stdout]    --> src/model/tag.rs:158:12
[INFO] [stdout]     |
[INFO] [stdout]   8 | impl<'a> TagFeature<'a> {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 158 |     pub fn latest_batch_id_or_zero(&self) -> Result<usize, &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     pub fn insert_tag_to_a_batch_history(&self, batch_id: usize, tag_name: &str, major_card_number: usize) -> Result<(), &'static s...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn delete_card_tags_in_a_batch(&self, batch_id: usize) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn delete_batch_from_history(&self, batch_id: usize) -> Result<(), &'static str> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `A` is never constructed
[INFO] [stdout]  --> src/zkset.rs:6:8
[INFO] [stdout]   |
[INFO] [stdout] 6 | struct A {
[INFO] [stdout]   |        ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_major` is never used
[INFO] [stdout]    --> src/card/face.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl Face {
[INFO] [stdout]     | --------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn is_major(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Meta` is never constructed
[INFO] [stdout]  --> src/card/meta.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct Meta {
[INFO] [stdout]   |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Timestamp` is never constructed
[INFO] [stdout]   --> src/card/meta.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct Timestamp { }
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `rollback` is never used
[INFO] [stdout]  --> src/feature.rs:5:8
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait Feature {
[INFO] [stdout]   |           ------- method in this trait
[INFO] [stdout] 4 |     fn enable(&self, conn: &mut Connection);
[INFO] [stdout] 5 |     fn rollback(&self, conn: &mut Connection);
[INFO] [stdout]   |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has` is never used
[INFO] [stdout]   --> src/feature.rs:29:8
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn has(name: &str, conn: &Connection) -> bool {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_text` and `from_str` are never used
[INFO] [stdout]   --> src/hash.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Hash {
[INFO] [stdout]    | --------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub fn from_text(slice: &str) -> Hash {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn from_str(slice: &str) -> Hash {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hexcharvalue` is never used
[INFO] [stdout]   --> src/hash.rs:90:4
[INFO] [stdout]    |
[INFO] [stdout] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `hexslice` is never used
[INFO] [stdout]    --> src/hash.rs:106:4
[INFO] [stdout]     |
[INFO] [stdout] 106 | fn hexslice(slice: &str) -> [u8; Sha256_size] {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/main.rs:35:21
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     zktag::zktag(timeline_file, &args);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 35 |                     let _ = zktag::zktag(timeline_file, &args);
[INFO] [stdout]    |                     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `Sha256_size` should have an upper case name
[INFO] [stdout]  --> src/hash.rs:8:7
[INFO] [stdout]   |
[INFO] [stdout] 8 | const Sha256_size: usize = 32;
[INFO] [stdout]   |       ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] help: convert the identifier to upper case
[INFO] [stdout]   |
[INFO] [stdout] 8 - const Sha256_size: usize = 32;
[INFO] [stdout] 8 + const SHA256_SIZE: usize = 32;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/zktag.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 41 |         cmd.call_once(());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 41 |         let _ = cmd.call_once(());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.10s
[INFO] running `Command { std: "docker" "inspect" "bd2e09d6ab23b5a44be8f6c8a29500457ba752d2f093db7c1111ed9fca017ae8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bd2e09d6ab23b5a44be8f6c8a29500457ba752d2f093db7c1111ed9fca017ae8", kill_on_drop: false }`
[INFO] [stdout] bd2e09d6ab23b5a44be8f6c8a29500457ba752d2f093db7c1111ed9fca017ae8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 25f0fd932112f5c2f232827e8947f578166c8f018eeeac31f544db3d96279231
[INFO] running `Command { std: "docker" "start" "-a" "25f0fd932112f5c2f232827e8947f578166c8f018eeeac31f544db3d96279231", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `params`
[INFO] [stderr]  --> src/control/content.rs:4:28
[INFO] [stderr]   |
[INFO] [stderr] 4 | use rusqlite::{Connection, params};
[INFO] [stderr]   |                            ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::fs`
[INFO] [stderr]  --> src/control/content.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use std::fs;
[INFO] [stderr]   |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::hash`
[INFO] [stderr]   --> src/control/content.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use crate::hash;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `params`
[INFO] [stderr]  --> src/control/tag.rs:1:28
[INFO] [stderr]   |
[INFO] [stderr] 1 | use rusqlite::{Connection, params};
[INFO] [stderr]   |                            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::card::Face`
[INFO] [stderr]  --> src/model/blob.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::card::Face;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashSet`
[INFO] [stderr]  --> src/model/schema.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::HashSet;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/feature.rs:24:23
[INFO] [stderr]    |
[INFO] [stderr] 24 |         Ok(number) => (number == 1),
[INFO] [stderr]    |                       ^           ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 24 -         Ok(number) => (number == 1),
[INFO] [stderr] 24 +         Ok(number) => number == 1 ,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around match arm expression
[INFO] [stderr]   --> src/feature.rs:41:23
[INFO] [stderr]    |
[INFO] [stderr] 41 |         Ok(number) => (number == 1),
[INFO] [stderr]    |                       ^           ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 41 -         Ok(number) => (number == 1),
[INFO] [stderr] 41 +         Ok(number) => number == 1 ,
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/varg.rs:112:13
[INFO] [stderr]     |
[INFO] [stderr] 112 |         let mut a1: Vec<String> = vec![];
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/varg.rs:113:13
[INFO] [stderr]     |
[INFO] [stderr] 113 |         let mut a2: Vec<String> = vec!["--timeline"].iter().map(|s| s.to_string()).collect();
[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/varg.rs:114:13
[INFO] [stderr]     |
[INFO] [stderr] 114 |         let mut a3: Vec<String> = vec!["./timeline.db"].iter().map(|s| s.to_string()).collect();
[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/varg.rs:115:13
[INFO] [stderr]     |
[INFO] [stderr] 115 |         let mut a4: Vec<String> = vec!["first", "--timeline"].iter().map(|s| s.to_string()).collect();
[INFO] [stderr]     |             ----^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `conn`
[INFO] [stderr]   --> src/control/content.rs:12:23
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn all_timeline_cards(conn: &Connection) -> Vec<Meta> {
[INFO] [stderr]    |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_conn`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `folder`
[INFO] [stderr]   --> src/control/content.rs:16:19
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn all_open_cards(folder: &Path) -> Vec<Meta> {
[INFO] [stderr]    |                   ^^^^^^ help: if this is intentional, prefix it with an underscore: `_folder`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `file`
[INFO] [stderr]   --> src/control/content.rs:20:22
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn timestamp_of_file(file: &Path) -> Timestamp {
[INFO] [stderr]    |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/control/tag.rs:102:28
[INFO] [stderr]     |
[INFO] [stderr] 102 |     pub fn call_once(self, args: ()) -> Result<(), &'static str> {
[INFO] [stderr]     |                            ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `msg`
[INFO] [stderr]   --> src/model/carddb.rs:28:16
[INFO] [stderr]    |
[INFO] [stderr] 28 |     if let Err(msg) = success {
[INFO] [stderr]    |                ^^^ help: if this is intentional, prefix it with an underscore: `_msg`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]   --> src/model/tag.rs:19:13
[INFO] [stderr]    |
[INFO] [stderr] 19 |         let mut stmt = self.connection.prepare(sql);
[INFO] [stderr]    |             ----^^^^
[INFO] [stderr]    |             |
[INFO] [stderr]    |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timeline_file`
[INFO] [stderr]   --> src/zkinit.rs:70:15
[INFO] [stderr]    |
[INFO] [stderr] 70 | pub fn zkinit(timeline_file: &PathBuf, args: &varg::Args) {
[INFO] [stderr]    |               ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeline_file`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]   --> src/card/meta.rs:26:18
[INFO] [stderr]    |
[INFO] [stderr] 26 |     fn eq(&self, other: &Timestamp) -> bool {
[INFO] [stderr]    |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `other`
[INFO] [stderr]   --> src/card/meta.rs:35:27
[INFO] [stderr]    |
[INFO] [stderr] 35 |     fn partial_cmp(&self, other: &Timestamp) -> Option<Ordering> {
[INFO] [stderr]    |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]  --> src/feature.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn enable_feature(name: &str, conn: &mut Connection, feature: &dyn Feature) {
[INFO] [stderr]   |                       ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/feature.rs:12:26
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub fn has_feature_table(name: &str, conn: &Connection) -> bool {
[INFO] [stderr]    |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> src/feature.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn has(name: &str, conn: &Connection) -> bool {
[INFO] [stderr]    |            ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `slice`
[INFO] [stderr]   --> src/hash.rs:65:21
[INFO] [stderr]    |
[INFO] [stderr] 65 |     pub fn from_str(slice: &str) -> Hash {
[INFO] [stderr]    |                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_slice`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hi`
[INFO] [stderr]   --> src/hash.rs:90:17
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stderr]    |                 ^^ help: if this is intentional, prefix it with an underscore: `_hi`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `lo`
[INFO] [stderr]   --> src/hash.rs:90:25
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stderr]    |                         ^^ help: if this is intentional, prefix it with an underscore: `_lo`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `set`
[INFO] [stderr]   --> src/hash.rs:92:9
[INFO] [stderr]    |
[INFO] [stderr] 92 |     let set = b"0123456789abcdef";
[INFO] [stderr]    |         ^^^ help: if this is intentional, prefix it with an underscore: `_set`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `timeline`
[INFO] [stderr]   --> src/zktag.rs:88:14
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub fn zktag(timeline: &PathBuf, args: &Args) -> Result<(), &'static str> {
[INFO] [stderr]    |              ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_timeline`
[INFO] [stderr] 
[INFO] [stderr] warning: function `all_timeline_cards` is never used
[INFO] [stderr]   --> src/control/content.rs:12:4
[INFO] [stderr]    |
[INFO] [stderr] 12 | fn all_timeline_cards(conn: &Connection) -> Vec<Meta> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `all_open_cards` is never used
[INFO] [stderr]   --> src/control/content.rs:16:4
[INFO] [stderr]    |
[INFO] [stderr] 16 | fn all_open_cards(folder: &Path) -> Vec<Meta> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `timestamp_of_file` is never used
[INFO] [stderr]   --> src/control/content.rs:20:4
[INFO] [stderr]    |
[INFO] [stderr] 20 | fn timestamp_of_file(file: &Path) -> Timestamp {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `modified_open_cards` is never used
[INFO] [stderr]   --> src/control/content.rs:25:4
[INFO] [stderr]    |
[INFO] [stderr] 25 | fn modified_open_cards(folder: &Path, conn: &Connection) -> Vec<Meta> {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CreateTagHistoryBatch` is never constructed
[INFO] [stderr]   --> src/control/tag.rs:29:12
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub struct CreateTagHistoryBatch<'a> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DropLatestTagHistoryBatch` is never constructed
[INFO] [stderr]   --> src/control/tag.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 34 | pub struct DropLatestTagHistoryBatch<'a> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `call_once` are never used
[INFO] [stderr]    --> src/control/tag.rs:147:12
[INFO] [stderr]     |
[INFO] [stdout] 
[INFO] [stderr] 146 | impl<'a> CreateTagHistoryBatch<'a> {
[INFO] [stdout] running 8 tests
[INFO] [stderr]     | ---------------------------------- associated items in this implementation
[INFO] [stderr] 147 |     pub fn new(connection: &'a Connection) -> Result<CreateTagHistoryBatch<'a>, &'static str> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 157 |     pub fn call_once(&self) {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `call_once` are never used
[INFO] [stderr]    --> src/control/tag.rs:163:12
[INFO] [stderr]     |
[INFO] [stderr] 162 | impl<'a> DropLatestTagHistoryBatch<'a> {
[INFO] [stderr]     | -------------------------------------- associated items in this implementation
[INFO] [stderr] 163 |     pub fn new(connection: &'a Connection) -> Result<DropLatestTagHistoryBatch<'a>, &'static str> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 172 |     pub fn call_once(self) -> Result<(), &'static str> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `load` is never used
[INFO] [stderr]   --> src/model/blob.rs:40:8
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn load(conn: &Connection, sha256: hash::Hash) -> Option<Vec<u8>> {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `cards` is never used
[INFO] [stderr]  --> src/model/carddb.rs:6:4
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn cards(conn: &mut Connection) -> Vec<Face> {
[INFO] [stderr]   |    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `next_major_card` is never used
[INFO] [stderr]   --> src/model/cardfolder.rs:62:8
[INFO] [stderr]    |
[INFO] [stderr] 62 | pub fn next_major_card(folder: &PathBuf) -> Face {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `list_cards` is never used
[INFO] [stderr]   --> src/model/cardfolder.rs:87:4
[INFO] [stderr]    |
[INFO] [stderr] 87 | fn list_cards(path: &Path) -> Vec<Face> {
[INFO] [stderr]    |    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `latest_batch_id_or_zero`, `insert_tag_to_a_batch_history`, `delete_card_tags_in_a_batch`, and `delete_batch_from_history` are never used
[INFO] [stderr]    --> src/model/tag.rs:158:12
[INFO] [stderr]     |
[INFO] [stderr]   8 | impl<'a> TagFeature<'a> {
[INFO] [stderr]     | ----------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 158 |     pub fn latest_batch_id_or_zero(&self) -> Result<usize, &'static str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 175 |     pub fn insert_tag_to_a_batch_history(&self, batch_id: usize, tag_name: &str, major_card_number: usize) -> Result<(), &'static s...
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 186 |     pub fn delete_card_tags_in_a_batch(&self, batch_id: usize) -> Result<(), &'static str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |     pub fn delete_batch_from_history(&self, batch_id: usize) -> Result<(), &'static str> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `A` is never constructed
[INFO] [stderr]  --> src/zkset.rs:6:8
[INFO] [stderr]   |
[INFO] [stderr] 6 | struct A {
[INFO] [stderr]   |        ^
[INFO] [stderr] 
[INFO] [stderr] warning: method `is_major` is never used
[INFO] [stderr]    --> src/card/face.rs:120:12
[INFO] [stderr]     |
[INFO] [stderr]  81 | impl Face {
[INFO] [stderr]     | --------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 120 |     pub fn is_major(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Meta` is never constructed
[INFO] [stderr]  --> src/card/meta.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct Meta {
[INFO] [stderr]   |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Timestamp` is never constructed
[INFO] [stderr]   --> src/card/meta.rs:24:12
[INFO] [stderr]    |
[INFO] [stderr] 24 | pub struct Timestamp { }
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `rollback` is never used
[INFO] [stderr]  --> src/feature.rs:5:8
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub trait Feature {
[INFO] [stdout] test card::face::test::test_create ... ok
[INFO] [stderr]   |           ------- method in this trait
[INFO] [stdout] test card::face::test::test_negative ... ok
[INFO] [stderr] 4 |     fn enable(&self, conn: &mut Connection);
[INFO] [stdout] test varg::test::test_negative ... ok
[INFO] [stderr] 5 |     fn rollback(&self, conn: &mut Connection);
[INFO] [stdout] test varg::test1::test_argument_read ... ok
[INFO] [stderr]   |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `has` is never used
[INFO] [stderr]   --> src/feature.rs:29:8
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn has(name: &str, conn: &Connection) -> bool {
[INFO] [stderr]    |        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `from_text` and `from_str` are never used
[INFO] [stdout] test card::face::test::test_number ... ok
[INFO] [stderr]   --> src/hash.rs:25:12
[INFO] [stdout] test varg::test::test_positive1 ... ok
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl Hash {
[INFO] [stderr]    | --------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 25 |     pub fn from_text(slice: &str) -> Hash {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 65 |     pub fn from_str(slice: &str) -> Hash {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `hexcharvalue` is never used
[INFO] [stderr]   --> src/hash.rs:90:4
[INFO] [stderr]    |
[INFO] [stderr] 90 | fn hexcharvalue(hi: u8, lo: u8) -> u8 {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `hexslice` is never used
[INFO] [stderr]    --> src/hash.rs:106:4
[INFO] [stderr]     |
[INFO] [stderr] 106 | fn hexslice(slice: &str) -> [u8; Sha256_size] {
[INFO] [stderr]     |    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/main.rs:35:21
[INFO] [stderr]    |
[INFO] [stderr] 35 |                     zktag::zktag(timeline_file, &args);
[INFO] [stderr]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 35 |                     let _ = zktag::zktag(timeline_file, &args);
[INFO] [stderr]    |                     +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: constant `Sha256_size` should have an upper case name
[INFO] [stderr]  --> src/hash.rs:8:7
[INFO] [stderr]   |
[INFO] [stderr] 8 | const Sha256_size: usize = 32;
[INFO] [stderr]   |       ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stderr] help: convert the identifier to upper case
[INFO] [stderr]   |
[INFO] [stderr] 8 - const Sha256_size: usize = 32;
[INFO] [stderr] 8 + const SHA256_SIZE: usize = 32;
[INFO] [stderr]   |
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]   --> src/zktag.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 41 |         cmd.call_once(());
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]    |
[INFO] [stderr] 41 |         let _ = cmd.call_once(());
[INFO] [stderr]    |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `rust-zk` (bin "zk" test) generated 54 warnings (run `cargo fix --bin "zk" -p rust-zk --tests` to apply 30 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/rust-zk/acee6b7536424394/deps/zk-acee6b7536424394)
[INFO] [stdout] test varg::test1::test_no_timeline ... ok
[INFO] [stdout] test card::face::test::test_location_in ... FAILED
[INFO] [stderr] error: test failed, to rerun pass `--bin zk`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- card::face::test::test_location_in stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'card::face::test::test_location_in' (26) panicked at src/card/face.rs:230:9:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: "./foo/bar/123a"
[INFO] [stdout]  right: "./foo/bar/124a"
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x63c9a015cf52 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x63c9a015cf52 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x63c9a015cf52 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x63c9a015cf52 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x63c9a01718ea - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x63c9a01718ea - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x63c9a0161e36 - std[840933623431fd06]::io::default_write_fmt::<alloc[40b2bae28975ac47]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x63c9a0161e36 - <alloc[40b2bae28975ac47]::vec::Vec<u8> as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x63c9a013b3ef - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x63c9a013b3ef - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x63c9a0155289 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x63c9a00ee10e - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x63c9a00ee10e - test[2f1252070343a163]::test_main_with_exit_callback::<test[2f1252070343a163]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x63c9a0155442 - <alloc[40b2bae28975ac47]::boxed::Box<dyn for<'a, 'b> core[8f93d80df273fe75]::ops::function::Fn<(&'a std[840933623431fd06]::panic::PanicHookInfo<'b>,), Output = ()> + core[8f93d80df273fe75]::marker::Sync + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::Fn<(&std[840933623431fd06]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x63c9a0155442 - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x63c9a013b4a8 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x63c9a0132e49 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x63c9a013c2fd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x63c9a0171ffc - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x63c9a0171eb3 - core[8f93d80df273fe75]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:439:17
[INFO] [stdout]   20:     0x63c9a00d5c3f - core[8f93d80df273fe75]::panicking::assert_failed::<std[840933623431fd06]::path::PathBuf, std[840933623431fd06]::path::PathBuf>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:394:5
[INFO] [stdout]   21:     0x63c9a00de955 - zk[5e7ca8fd4a26981d]::card::face::test::test_location_in
[INFO] [stdout]                                at /opt/rustwide/workdir/src/card/face.rs:230:9
[INFO] [stdout]   22:     0x63c9a00dbcd7 - zk[5e7ca8fd4a26981d]::card::face::test::test_location_in::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/card/face.rs:227:26
[INFO] [stdout]   23:     0x63c9a00dfa46 - <zk[5e7ca8fd4a26981d]::card::face::test::test_location_in::{closure#0} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x63c9a00e24bb - <fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   25:     0x63c9a00e24bb - test[2f1252070343a163]::__rust_begin_short_backtrace::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, fn() -> core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:663:18
[INFO] [stdout]   26:     0x63c9a00eed1a - test[2f1252070343a163]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:74
[INFO] [stdout]   27:     0x63c9a00eed1a - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   28:     0x63c9a00eed1a - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x63c9a00eed1a - std[840933623431fd06]::panicking::catch_unwind::<core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>, core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x63c9a00eed1a - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<test[2f1252070343a163]::run_test_in_process::{closure#0}>, core[8f93d80df273fe75]::result::Result<(), alloc[40b2bae28975ac47]::string::String>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x63c9a00eed1a - test[2f1252070343a163]::run_test_in_process
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:686:27
[INFO] [stdout]   32:     0x63c9a00eed1a - test[2f1252070343a163]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:607:43
[INFO] [stdout]   33:     0x63c9a00e91e4 - test[2f1252070343a163]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/test/src/lib.rs:637:41
[INFO] [stdout]   34:     0x63c9a00e91e4 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<test[2f1252070343a163]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   35:     0x63c9a00f1812 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   36:     0x63c9a00f1812 - <core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   37:     0x63c9a00f1812 - std[840933623431fd06]::panicking::catch_unwind::do_call::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   38:     0x63c9a00f1812 - std[840933623431fd06]::panicking::catch_unwind::<(), core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   39:     0x63c9a00f1812 - std[840933623431fd06]::panic::catch_unwind::<core[8f93d80df273fe75]::panic::unwind_safe::AssertUnwindSafe<std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   40:     0x63c9a00f1812 - std[840933623431fd06]::thread::lifecycle::spawn_unchecked::<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   41:     0x63c9a00f1812 - <std[840933623431fd06]::thread::lifecycle::spawn_unchecked<test[2f1252070343a163]::run_test::{closure#1}, ()>::{closure#1} as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x63c9a015c7ff - <alloc[40b2bae28975ac47]::boxed::Box<dyn core[8f93d80df273fe75]::ops::function::FnOnce<(), Output = ()> + core[8f93d80df273fe75]::marker::Send> as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   43:     0x63c9a015c7ff - <std[840933623431fd06]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   44:     0x76277c8f2aa4 - <unknown>
[INFO] [stdout]   45:     0x76277c97fa64 - clone
[INFO] [stdout]   46:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     card::face::test::test_location_in
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 7 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "25f0fd932112f5c2f232827e8947f578166c8f018eeeac31f544db3d96279231", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25f0fd932112f5c2f232827e8947f578166c8f018eeeac31f544db3d96279231", kill_on_drop: false }`
[INFO] [stdout] 25f0fd932112f5c2f232827e8947f578166c8f018eeeac31f544db3d96279231
