[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 beta-2024-12-08 for beta-1.84.0-4-retry
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fwistrandj%2Frust-zk" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/wistrandj/rust-zk on toolchain beta-2024-12-08
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[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-5-tc2/source/Cargo.toml
[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" "+beta-2024-12-08" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 398618d18913968a4e5b5cd3c8cf30d5dfc7aabdc9a4a59218e48fc60b917270
[INFO] running `Command { std: "docker" "start" "-a" "398618d18913968a4e5b5cd3c8cf30d5dfc7aabdc9a4a59218e48fc60b917270", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "398618d18913968a4e5b5cd3c8cf30d5dfc7aabdc9a4a59218e48fc60b917270", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "398618d18913968a4e5b5cd3c8cf30d5dfc7aabdc9a4a59218e48fc60b917270", kill_on_drop: false }`
[INFO] [stdout] 398618d18913968a4e5b5cd3c8cf30d5dfc7aabdc9a4a59218e48fc60b917270
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07abefc15b2e38068c48dfda38f39e4f81b14c453af3d51b590d116132e93b83
[INFO] running `Command { std: "docker" "start" "-a" "07abefc15b2e38068c48dfda38f39e4f81b14c453af3d51b590d116132e93b83", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling pkg-config v0.3.19
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling ahash v0.4.6
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling cpuid-bool v0.1.2
[INFO] [stderr]    Compiling smallvec v1.4.2
[INFO] [stderr]    Compiling opaque-debug v0.3.0
[INFO] [stderr]    Compiling fallible-iterator v0.2.0
[INFO] [stderr]    Compiling hashbrown v0.9.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.20.1
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling hashlink v0.6.0
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling rusqlite v0.24.1
[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 chrono v0.4.19
[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)]` 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)]` 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)]` 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)]` 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: `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: `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: `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)]` 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 str> {
[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: fields `create_time`, `modify_time`, `content_sha256`, `commit_user`, and `commit_email` are never read
[INFO] [stdout]   --> src/card/meta.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Meta {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 6  |     pub face: Face,
[INFO] [stdout] 7  |     pub create_time: Timestamp,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 8  |     pub modify_time: Timestamp,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 9  |     pub content_sha256: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub commit_user: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub commit_email: String,
[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)]` 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]   |       ^^^^^^^^^^^ help: convert the identifier to upper case: `SHA256_SIZE`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[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 9.34s
[INFO] running `Command { std: "docker" "inspect" "07abefc15b2e38068c48dfda38f39e4f81b14c453af3d51b590d116132e93b83", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07abefc15b2e38068c48dfda38f39e4f81b14c453af3d51b590d116132e93b83", kill_on_drop: false }`
[INFO] [stdout] 07abefc15b2e38068c48dfda38f39e4f81b14c453af3d51b590d116132e93b83
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 67cafae37226b4c52f51eac705ebab215fd24ef4e0039ebf45a39691d4473188
[INFO] running `Command { std: "docker" "start" "-a" "67cafae37226b4c52f51eac705ebab215fd24ef4e0039ebf45a39691d4473188", 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)]` 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)]` 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)]` 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)]` 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: `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: `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: `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)]` 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 str> {
[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: fields `create_time`, `modify_time`, `content_sha256`, `commit_user`, and `commit_email` are never read
[INFO] [stdout]   --> src/card/meta.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout] 5  | pub struct Meta {
[INFO] [stdout]    |            ---- fields in this struct
[INFO] [stdout] 6  |     pub face: Face,
[INFO] [stdout] 7  |     pub create_time: Timestamp,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 8  |     pub modify_time: Timestamp,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 9  |     pub content_sha256: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub commit_user: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 11 |     pub commit_email: String,
[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)]` 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]   |       ^^^^^^^^^^^ help: convert the identifier to upper case: `SHA256_SIZE`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(non_upper_case_globals)]` on by default
[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.08s
[INFO] running `Command { std: "docker" "inspect" "67cafae37226b4c52f51eac705ebab215fd24ef4e0039ebf45a39691d4473188", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67cafae37226b4c52f51eac705ebab215fd24ef4e0039ebf45a39691d4473188", kill_on_drop: false }`
[INFO] [stdout] 67cafae37226b4c52f51eac705ebab215fd24ef4e0039ebf45a39691d4473188
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2024-12-08" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 88bd3b4990aa91268dc92649ccc39dc75f58ce94dc7d87e1a2c9a4def4d1b50e
[INFO] running `Command { std: "docker" "start" "-a" "88bd3b4990aa91268dc92649ccc39dc75f58ce94dc7d87e1a2c9a4def4d1b50e", 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)]` 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)]` 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)]` 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)]` 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: `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: `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: `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)]` 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] [stderr] 146 | impl<'a> CreateTagHistoryBatch<'a> {
[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 str> {
[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: fields `create_time`, `modify_time`, `content_sha256`, `commit_user`, and `commit_email` are never read
[INFO] [stderr]   --> src/card/meta.rs:7:9
[INFO] [stderr]    |
[INFO] [stderr] 5  | pub struct Meta {
[INFO] [stderr]    |            ---- fields in this struct
[INFO] [stderr] 6  |     pub face: Face,
[INFO] [stderr] 7  |     pub create_time: Timestamp,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 8  |     pub modify_time: Timestamp,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 9  |     pub content_sha256: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^
[INFO] [stderr] 10 |     pub commit_user: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 11 |     pub commit_email: String,
[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] [stderr]   |           ------- method in this trait
[INFO] [stderr] 4 |     fn enable(&self, conn: &mut Connection);
[INFO] [stderr] 5 |     fn rollback(&self, conn: &mut Connection);
[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] [stderr]   --> src/hash.rs:25:12
[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)]` 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]   |       ^^^^^^^^^^^ help: convert the identifier to upper case: `SHA256_SIZE`
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(non_upper_case_globals)]` on by default
[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 53 warnings (run `cargo fix --bin "zk" --tests` to apply 13 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/zk-908ffe53cb94d67c)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test card::face::test::test_create ... ok
[INFO] [stdout] test card::face::test::test_negative ... ok
[INFO] [stdout] test card::face::test::test_number ... ok
[INFO] [stdout] test varg::test1::test_no_timeline ... ok
[INFO] [stdout] test varg::test::test_positive1 ... ok
[INFO] [stdout] test varg::test1::test_argument_read ... ok
[INFO] [stdout] test varg::test::test_negative ... ok
[INFO] [stdout] test card::face::test::test_location_in ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- card::face::test::test_location_in stdout ----
[INFO] [stdout] thread 'card::face::test::test_location_in' 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:     0x6449f9af5e9a - std::backtrace_rs::backtrace::libunwind::trace::h8810477743020387
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:116:5
[INFO] [stdout]    1:     0x6449f9af5e9a - std::backtrace_rs::backtrace::trace_unsynchronized::h3aa55355dd6c54a6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
[INFO] [stdout]    2:     0x6449f9af5e9a - std::sys::backtrace::_print_fmt::h8588b0f62410823f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x6449f9af5e9a - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h98c26ac25ffe89bb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x6449f9b1b923 - core::fmt::rt::Argument::fmt::hf95377f4aebd453b
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/rt.rs:177:76
[INFO] [stdout]    5:     0x6449f9b1b923 - core::fmt::write::h0dd5f6e2238c7982
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/fmt/mod.rs:1189:21
[INFO] [stdout]    6:     0x6449f9af3003 - std::io::Write::write_fmt::h03bb0ca26e6faf8c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/io/mod.rs:1884:15
[INFO] [stdout]    7:     0x6449f9af5ce2 - std::sys::backtrace::BacktraceLock::print::h5c19c1c038ee186d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    8:     0x6449f9af731d - std::panicking::default_hook::{{closure}}::h77172f079a1fcb13
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:268:22
[INFO] [stdout]    9:     0x6449f9af7127 - std::panicking::default_hook::he5f8e3b203ccddba
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:292:9
[INFO] [stdout]   10:     0x6449f9abbbc7 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h7a3c7b4a1ae77f2f
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   11:     0x6449f9abbbc7 - test::test_main::{{closure}}::hf0d3b69ae9b353d1
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:134:21
[INFO] [stdout]   12:     0x6449f9af79c8 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h6332e82e7b189abd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1986:9
[INFO] [stdout]   13:     0x6449f9af79c8 - std::panicking::rust_panic_with_hook::h53863d4e9018df39
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:809:13
[INFO] [stdout]   14:     0x6449f9af778a - std::panicking::begin_panic_handler::{{closure}}::h67280e6fa0757873
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:674:13
[INFO] [stdout]   15:     0x6449f9af6379 - std::sys::backtrace::__rust_end_short_backtrace::h1dac3f54d6fbbeb2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:170:18
[INFO] [stdout]   16:     0x6449f9af741c - rust_begin_unwind
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:665:5
[INFO] [stdout]   17:     0x6449f9a72aa0 - core::panicking::panic_fmt::h6792bd1b2bf01041
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:76:14
[INFO] [stdout]   18:     0x6449f9a72e6b - core::panicking::assert_failed_inner::hf2c17e6d30928787
[INFO] [stdout]   19:     0x6449f9a7b220 - core::panicking::assert_failed::h428a62f11f2ac4d9
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panicking.rs:373:5
[INFO] [stdout]   20:     0x6449f9a79746 - zk::card::face::test::test_location_in::hfb3a2d03c8200af5
[INFO] [stdout]                                at /opt/rustwide/workdir/src/card/face.rs:230:9
[INFO] [stdout]   21:     0x6449f9a79567 - zk::card::face::test::test_location_in::{{closure}}::h176dabc1f6f6eb6c
[INFO] [stdout]                                at /opt/rustwide/workdir/src/card/face.rs:227:26
[INFO] [stdout]   22:     0x6449f9a73d76 - core::ops::function::FnOnce::call_once::hdee2eb983df3aa98
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   23:     0x6449f9ac06eb - core::ops::function::FnOnce::call_once::h871bf86719ec9aa4
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   24:     0x6449f9ac06eb - test::__rust_begin_short_backtrace::h2167df1e2b7d76fd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:632:18
[INFO] [stdout]   25:     0x6449f9ac00d8 - test::run_test_in_process::{{closure}}::h15d92f75a3adfb79
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:60
[INFO] [stdout]   26:     0x6449f9ac00d8 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::hb6c8955835a8dbbb
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   27:     0x6449f9ac00d8 - std::panicking::try::do_call::hc79d0fc888a0bd30
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   28:     0x6449f9ac00d8 - std::panicking::try::hb8a7878e3a8589d6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   29:     0x6449f9ac00d8 - std::panic::catch_unwind::hb8e4600ff0ff5cfa
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   30:     0x6449f9ac00d8 - test::run_test_in_process::hc2900b0b18688dd6
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:655:27
[INFO] [stdout]   31:     0x6449f9ac00d8 - test::run_test::{{closure}}::hac2a9cb07be3d48d
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:576:43
[INFO] [stdout]   32:     0x6449f9a83b7a - test::run_test::{{closure}}::h4a5b729e66a38cd8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/test/src/lib.rs:606:41
[INFO] [stdout]   33:     0x6449f9a83b7a - std::sys::backtrace::__rust_begin_short_backtrace::h0496fb742492f573
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/backtrace.rs:154:18
[INFO] [stdout]   34:     0x6449f9a874f4 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hbb6d257c550a54bd
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:561:17
[INFO] [stdout]   35:     0x6449f9a874f4 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h46696fe4a6832328
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/panic/unwind_safe.rs:272:9
[INFO] [stdout]   36:     0x6449f9a874f4 - std::panicking::try::do_call::h2625a51b667bfb64
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:557:40
[INFO] [stdout]   37:     0x6449f9a874f4 - std::panicking::try::hb956a59a1973aa4c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panicking.rs:520:19
[INFO] [stdout]   38:     0x6449f9a874f4 - std::panic::catch_unwind::h64f3b9d1067ef6a0
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/panic.rs:358:14
[INFO] [stdout]   39:     0x6449f9a874f4 - std::thread::Builder::spawn_unchecked_::{{closure}}::h42b2841295b6c0b2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/thread/mod.rs:559:30
[INFO] [stdout]   40:     0x6449f9a874f4 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6127de71b8124639
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x6449f9afb90b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h42f0ba71002a1b2c
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   42:     0x6449f9afb90b - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::had9e47d7a3dcecb8
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/alloc/src/boxed.rs:1972:9
[INFO] [stdout]   43:     0x6449f9afb90b - std::sys::pal::unix::thread::Thread::new::thread_start::h48cf765408f6f5f2
[INFO] [stdout]                                at /rustc/202008a1b8de96d2e5b6bc02d379db03a877d34d/library/std/src/sys/pal/unix/thread.rs:105:17
[INFO] [stdout]   44:     0x77a31232dac3 - <unknown>
[INFO] [stdout]   45:     0x77a3123bea04 - 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.05s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin zk`
[INFO] running `Command { std: "docker" "inspect" "88bd3b4990aa91268dc92649ccc39dc75f58ce94dc7d87e1a2c9a4def4d1b50e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88bd3b4990aa91268dc92649ccc39dc75f58ce94dc7d87e1a2c9a4def4d1b50e", kill_on_drop: false }`
[INFO] [stdout] 88bd3b4990aa91268dc92649ccc39dc75f58ce94dc7d87e1a2c9a4def4d1b50e
