[INFO] fetching crate tag2upload-service-manager 0.1.3...
[INFO] testing tag2upload-service-manager-0.1.3 against beta-2025-09-21 for beta-1.91-3
[INFO] extracting crate tag2upload-service-manager 0.1.3 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate tag2upload-service-manager 0.1.3
[INFO] finished tweaking crates.io crate tag2upload-service-manager 0.1.3
[INFO] tweaked toml for crates.io crate tag2upload-service-manager 0.1.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tag2upload-service-manager 0.1.3 on toolchain beta-2025-09-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tag2upload-service-manager 0.1.3 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-2025-09-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] fb73fd1b9ca1040ffb4a0590acad9a5a23bb5f43611cf76b2d77c0a824dbafe4
[INFO] running `Command { std: "docker" "start" "-a" "fb73fd1b9ca1040ffb4a0590acad9a5a23bb5f43611cf76b2d77c0a824dbafe4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "fb73fd1b9ca1040ffb4a0590acad9a5a23bb5f43611cf76b2d77c0a824dbafe4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fb73fd1b9ca1040ffb4a0590acad9a5a23bb5f43611cf76b2d77c0a824dbafe4", kill_on_drop: false }`
[INFO] [stdout] fb73fd1b9ca1040ffb4a0590acad9a5a23bb5f43611cf76b2d77c0a824dbafe4
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] eb6c08162f2850cf8c1fcc1b0040c6ee44e48a2c77f7e50b3fda51d381331563
[INFO] running `Command { std: "docker" "start" "-a" "eb6c08162f2850cf8c1fcc1b0040c6ee44e48a2c77f7e50b3fda51d381331563", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.97
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling critical-section v1.2.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling cc v1.2.32
[INFO] [stderr]    Compiling typenum v1.18.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling thiserror v2.0.14
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling syn v2.0.105
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling inlinable_string v0.1.15
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling time-macros v0.2.22
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cookie v0.18.1
[INFO] [stderr]    Compiling ref-cast v1.0.24
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling time v0.3.41
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling uncased v0.9.10
[INFO] [stderr]    Compiling ucd-trie v0.1.7
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling serde_json v1.0.142
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling convert_case v0.6.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling devise_core v0.4.2
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.14
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling ref-cast-impl v1.0.24
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling stable-pattern v0.1.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling derive-deftly-macros v1.2.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling unic-common v0.9.0
[INFO] [stderr]    Compiling unic-char-range v0.9.0
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling state v0.6.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling unic-char-property v0.9.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling unic-ucd-version v0.9.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling globset v0.4.16
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling url v2.5.4
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling devise_codegen v0.4.2
[INFO] [stderr]    Compiling proc-macro-crate v3.3.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling multer v3.1.0
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling moka v0.12.10
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling rocket_http v0.5.1
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ignore v0.4.23
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling devise v0.4.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]    Compiling unic-ucd-segment v0.9.0
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling uuid v1.18.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling cvt v0.1.2
[INFO] [stderr]    Compiling rocket v0.5.1
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling tagptr v0.2.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling rusqlite v0.37.0
[INFO] [stderr]    Compiling clap_builder v4.5.44
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling rocket_codegen v0.5.1
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling fs_at v0.2.1
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling unic-segment v0.9.0
[INFO] [stderr]    Compiling humansize v2.1.3
[INFO] [stderr]    Compiling derive-deftly v1.2.0
[INFO] [stderr]    Compiling globwalk v0.9.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling ubyte v0.10.4
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tracing-test-macro v0.2.5
[INFO] [stderr]    Compiling clap_derive v4.5.45
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling binascii v0.1.4
[INFO] [stderr]    Compiling resolv-conf v0.7.4
[INFO] [stderr]    Compiling normpath v1.3.0
[INFO] [stderr]    Compiling hex_fmt v0.3.0
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling atomic v0.5.3
[INFO] [stderr]    Compiling easy-ext v1.0.2
[INFO] [stderr]    Compiling hickory-resolver v0.25.2
[INFO] [stderr]    Compiling humantime-serde v1.1.1
[INFO] [stderr]    Compiling remove_dir_all v1.0.0
[INFO] [stderr]    Compiling tera v1.20.0
[INFO] [stderr]    Compiling clap v4.5.45
[INFO] [stderr]    Compiling tracing-test v0.2.5
[INFO] [stderr]    Compiling mini-sqlite-dump v0.1.0
[INFO] [stderr]    Compiling reqwest v0.12.23
[INFO] [stderr]    Compiling tracing-logrotate v0.1.0
[INFO] [stderr]    Compiling sd-notify v0.4.5
[INFO] [stderr]    Compiling maybe-owned v0.3.4
[INFO] [stderr]    Compiling tag2upload-service-manager v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bsql_queries.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub &'s [&'s (dyn IsFragment)],
[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] 64 -     pub &'s [&'s (dyn IsFragment)],
[INFO] [stdout] 64 +     pub &'s [&'s dyn IsFragment],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bsql_queries.rs:93:37
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn mk_params(&self) -> Vec<&(dyn ToSql)> {
[INFO] [stdout]    |                                     ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 93 -     pub fn mk_params(&self) -> Vec<&(dyn ToSql)> {
[INFO] [stdout] 93 +     pub fn mk_params(&self) -> Vec<&dyn ToSql> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/bsql_queries.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     ) -> Vec<&(dyn ToSql)> {
[INFO] [stdout]     |               ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 103 -     ) -> Vec<&(dyn ToSql)> {
[INFO] [stdout] 103 +     ) -> Vec<&dyn ToSql> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Earlier` is never constructed
[INFO] [stdout]    --> src/db_workflow.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 285 |     struct Earlier {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bsql_rows.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn cols(&self) -> impl Iterator<Item = AsBSqlColumnData> {
[INFO] [stdout]    |             ^^^^^                          ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn cols(&self) -> impl Iterator<Item = AsBSqlColumnData<'_>> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types_string_abstract.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 | #[derive(Deftly)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/ui_abstract.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn ui_display(&self) -> Cow<str>;
[INFO] [stdout]   |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn ui_display(&self) -> Cow<'_, str>;
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn ui_serialize(&self) -> HashMap<&str, Cow<str>> {
[INFO] [stdout]    |                     ^^^^^             ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |                 |
[INFO] [stdout]    |                     |                 the same lifetime is elided here
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn ui_serialize(&self) -> HashMap<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)>;
[INFO] [stdout]    |                  ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |                               |
[INFO] [stdout]    |                  |                               the same lifetime is elided here
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)>;
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn ui_display(&self) -> Cow<str> { Cow::Borrowed(self) }
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn ui_display(&self) -> Cow<'_, str> { Cow::Borrowed(self) }
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:99:19
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 118 | ui_display_via_to_string! { i64 }
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/db_data.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Deftly)]
[INFO] [stdout]    |          ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/db_data.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Debug, Deftly, Clone)]
[INFO] [stdout]    |                 ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:60:19
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Deftly, strum::EnumIter)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToSqlEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:78:23
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Deftly, strum::EnumIter)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:78:23
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:167:32
[INFO] [stdout]     |
[INFO] [stdout] 167 | #[derive(derive_more::Display, Deftly)]
[INFO] [stdout]     |                                ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:60:19
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:167:32
[INFO] [stdout]     |
[INFO] [stdout] 167 | #[derive(derive_more::Display, Deftly)]
[INFO] [stdout]     |                                ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToSqlEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:49:22
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]     |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                               |
[INFO] [stdout]     |                      |                               the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:49:22
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]     |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                               |
[INFO] [stdout]     |                      |                               the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/o2m_messages.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ui_display(&self) -> Cow<str> { (*self as isize).to_string().into() }
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ui_display(&self) -> Cow<'_, str> { (*self as isize).to_string().into() }
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/o2m_tracker.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Deftly)]
[INFO] [stdout]    |                                                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/o2m_tracker.rs:34:56
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Deftly)]
[INFO] [stdout]    |                                                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/o2m_tracker.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn lock(&self) -> MutexGuard<State> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn lock(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/t2umeta.rs:7:24
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Clone, Deftly)]
[INFO] [stdout]    |                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/types_string_abstract.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Deftly, From, Into)]
[INFO] [stdout]    |                                                       ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | ui_display_via_to_string! { TimeT }
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | define_sqlite_rowid!(JobId);
[INFO] [stdout]    | --------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:88:1
[INFO] [stdout]     |
[INFO] [stdout]  88 | define_sqlite_rowid!(JobId);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | define_sqlite_rowid!(PauseId);
[INFO] [stdout]    | ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:89:1
[INFO] [stdout]     |
[INFO] [stdout]  89 | define_sqlite_rowid!(PauseId);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / define_standard_string_newtype! {
[INFO] [stdout]  94 | |     Hostname [
[INFO] [stdout]  95 | |         error("syntactically invalid hostname");
[INFO] [stdout]  96 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / define_standard_string_newtype! {
[INFO] [stdout]  94 | |     Hostname [
[INFO] [stdout]  95 | |         error("syntactically invalid hostname");
[INFO] [stdout]  96 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | / define_standard_string_newtype! {
[INFO] [stdout] 144 | |     /// Might be 0000 for "none"
[INFO] [stdout] 145 | |     GitObjectIdOrNull []:
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     fn map_err(ae: AE) -> Self::Error { InvalidGitObjectId(ae) }
[INFO] [stdout] 156 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | / define_standard_string_newtype! {
[INFO] [stdout] 144 | |     /// Might be 0000 for "none"
[INFO] [stdout] 145 | |     GitObjectIdOrNull []:
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     fn map_err(ae: AE) -> Self::Error { InvalidGitObjectId(ae) }
[INFO] [stdout] 156 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:33:19
[INFO] [stdout]     |
[INFO] [stdout]  33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deftly, Clone)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / define_standard_string_newtype! {
[INFO] [stdout] 204 | |     TagObjectData [
[INFO] [stdout] 205 | |         error("syntactically invalid tag data");
[INFO] [stdout] 206 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |     fn char_ok(_c: char) -> bool { true }
[INFO] [stdout] 210 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / define_standard_string_newtype! {
[INFO] [stdout] 204 | |     TagObjectData [
[INFO] [stdout] 205 | |         error("syntactically invalid tag data");
[INFO] [stdout] 206 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |     fn char_ok(_c: char) -> bool { true }
[INFO] [stdout] 210 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | / define_standard_string_newtype! {
[INFO] [stdout] 227 | |     ProcessingInfo []:
[INFO] [stdout] 228 | |
[INFO] [stdout] 229 | |     type Error = EmptyProcessingInfo;
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     fn map_err(_: AE) -> Self::Error { EmptyProcessingInfo }
[INFO] [stdout] 237 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | / define_standard_string_newtype! {
[INFO] [stdout] 227 | |     ProcessingInfo []:
[INFO] [stdout] 228 | |
[INFO] [stdout] 229 | |     type Error = EmptyProcessingInfo;
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     fn map_err(_: AE) -> Self::Error { EmptyProcessingInfo }
[INFO] [stdout] 237 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | / define_standard_string_newtype! {
[INFO] [stdout] 249 | |     /// Debian Policy 6.5.1
[INFO] [stdout] 250 | |     ///
[INFO] [stdout] 251 | |     /// (Validation is complete according to that spec.)
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | / define_standard_string_newtype! {
[INFO] [stdout] 249 | |     /// Debian Policy 6.5.1
[INFO] [stdout] 250 | |     ///
[INFO] [stdout] 251 | |     /// (Validation is complete according to that spec.)
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | / define_standard_string_newtype! {
[INFO] [stdout] 273 | |     /// Debian version string (Policy 5.6.12)
[INFO] [stdout] 274 | |     ///
[INFO] [stdout] 275 | |     /// We don't validate this completely,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | / define_standard_string_newtype! {
[INFO] [stdout] 273 | |     /// Debian version string (Policy 5.6.12)
[INFO] [stdout] 274 | |     ///
[INFO] [stdout] 275 | |     /// We don't validate this completely,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:292:1
[INFO] [stdout]     |
[INFO] [stdout] 292 | / define_standard_string_newtype! {
[INFO] [stdout] 293 | |     WorkerId [
[INFO] [stdout] 294 | |         error("syntactically invalid worker id");
[INFO] [stdout] 295 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:292:1
[INFO] [stdout]     |
[INFO] [stdout] 292 | / define_standard_string_newtype! {
[INFO] [stdout] 293 | |     WorkerId [
[INFO] [stdout] 294 | |         error("syntactically invalid worker id");
[INFO] [stdout] 295 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:317:1
[INFO] [stdout]     |
[INFO] [stdout] 317 | ui_display_via_to_string! { WorkerFidelity }
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ui_routes.rs:70:14
[INFO] [stdout]    |
[INFO] [stdout] 70 |     #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]    |              ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ui_routes.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq, Default)]
[INFO] [stdout]    |              ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 27s
[INFO] running `Command { std: "docker" "inspect" "eb6c08162f2850cf8c1fcc1b0040c6ee44e48a2c77f7e50b3fda51d381331563", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb6c08162f2850cf8c1fcc1b0040c6ee44e48a2c77f7e50b3fda51d381331563", kill_on_drop: false }`
[INFO] [stdout] eb6c08162f2850cf8c1fcc1b0040c6ee44e48a2c77f7e50b3fda51d381331563
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6323fe8c8f42b4652ec21b49f8a4e929456645b6958e239e1e6052aa73476e48
[INFO] running `Command { std: "docker" "start" "-a" "6323fe8c8f42b4652ec21b49f8a4e929456645b6958e239e1e6052aa73476e48", kill_on_drop: false }`
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling convert_case v0.7.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling testresult v0.4.1
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling enum-ordinalize v3.1.15
[INFO] [stderr]    Compiling educe v0.4.23
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling test-temp-dir v0.3.5
[INFO] [stderr]    Compiling parse-zoneinfo v0.3.1
[INFO] [stderr]    Compiling lazy-regex-proc_macros v3.4.1
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling lazy-regex v3.4.1
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling tera v1.20.0
[INFO] [stderr]    Compiling tag2upload-service-manager v0.1.3 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bsql_queries.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub &'s [&'s (dyn IsFragment)],
[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] 64 -     pub &'s [&'s (dyn IsFragment)],
[INFO] [stdout] 64 +     pub &'s [&'s dyn IsFragment],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bsql_queries.rs:93:37
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn mk_params(&self) -> Vec<&(dyn ToSql)> {
[INFO] [stdout]    |                                     ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 93 -     pub fn mk_params(&self) -> Vec<&(dyn ToSql)> {
[INFO] [stdout] 93 +     pub fn mk_params(&self) -> Vec<&dyn ToSql> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/bsql_queries.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     ) -> Vec<&(dyn ToSql)> {
[INFO] [stdout]     |               ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 103 -     ) -> Vec<&(dyn ToSql)> {
[INFO] [stdout] 103 +     ) -> Vec<&dyn ToSql> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bsql_queries.rs:64:18
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub &'s [&'s (dyn IsFragment)],
[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] 64 -     pub &'s [&'s (dyn IsFragment)],
[INFO] [stdout] 64 +     pub &'s [&'s dyn IsFragment],
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/bsql_queries.rs:93:37
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn mk_params(&self) -> Vec<&(dyn ToSql)> {
[INFO] [stdout]    |                                     ^         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 93 -     pub fn mk_params(&self) -> Vec<&(dyn ToSql)> {
[INFO] [stdout] 93 +     pub fn mk_params(&self) -> Vec<&dyn ToSql> {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]    --> src/bsql_queries.rs:103:15
[INFO] [stdout]     |
[INFO] [stdout] 103 |     ) -> Vec<&(dyn ToSql)> {
[INFO] [stdout]     |               ^         ^
[INFO] [stdout]     |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 103 -     ) -> Vec<&(dyn ToSql)> {
[INFO] [stdout] 103 +     ) -> Vec<&dyn ToSql> {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Earlier` is never constructed
[INFO] [stdout]    --> src/db_workflow.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 285 |     struct Earlier {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bsql_rows.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn cols(&self) -> impl Iterator<Item = AsBSqlColumnData> {
[INFO] [stdout]    |             ^^^^^                          ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn cols(&self) -> impl Iterator<Item = AsBSqlColumnData<'_>> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types_string_abstract.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 | #[derive(Deftly)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/ui_abstract.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn ui_display(&self) -> Cow<str>;
[INFO] [stdout]   |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn ui_display(&self) -> Cow<'_, str>;
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn ui_serialize(&self) -> HashMap<&str, Cow<str>> {
[INFO] [stdout]    |                     ^^^^^             ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |                 |
[INFO] [stdout]    |                     |                 the same lifetime is elided here
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn ui_serialize(&self) -> HashMap<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)>;
[INFO] [stdout]    |                  ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |                               |
[INFO] [stdout]    |                  |                               the same lifetime is elided here
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)>;
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn ui_display(&self) -> Cow<str> { Cow::Borrowed(self) }
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn ui_display(&self) -> Cow<'_, str> { Cow::Borrowed(self) }
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:99:19
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 118 | ui_display_via_to_string! { i64 }
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/db_data.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Deftly)]
[INFO] [stdout]    |          ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/db_data.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Debug, Deftly, Clone)]
[INFO] [stdout]    |                 ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:60:19
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Deftly, strum::EnumIter)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToSqlEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:78:23
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Deftly, strum::EnumIter)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:78:23
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:167:32
[INFO] [stdout]     |
[INFO] [stdout] 167 | #[derive(derive_more::Display, Deftly)]
[INFO] [stdout]     |                                ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:60:19
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:167:32
[INFO] [stdout]     |
[INFO] [stdout] 167 | #[derive(derive_more::Display, Deftly)]
[INFO] [stdout]     |                                ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToSqlEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:49:22
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]     |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                               |
[INFO] [stdout]     |                      |                               the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:49:22
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]     |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                               |
[INFO] [stdout]     |                      |                               the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/o2m_messages.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ui_display(&self) -> Cow<str> { (*self as isize).to_string().into() }
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ui_display(&self) -> Cow<'_, str> { (*self as isize).to_string().into() }
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/o2m_tracker.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Deftly)]
[INFO] [stdout]    |                                                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/o2m_tracker.rs:34:56
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Deftly)]
[INFO] [stdout]    |                                                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/o2m_tracker.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn lock(&self) -> MutexGuard<State> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn lock(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/t2umeta.rs:7:24
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Clone, Deftly)]
[INFO] [stdout]    |                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/types_string_abstract.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Deftly, From, Into)]
[INFO] [stdout]    |                                                       ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | ui_display_via_to_string! { TimeT }
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | define_sqlite_rowid!(JobId);
[INFO] [stdout]    | --------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:88:1
[INFO] [stdout]     |
[INFO] [stdout]  88 | define_sqlite_rowid!(JobId);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | define_sqlite_rowid!(PauseId);
[INFO] [stdout]    | ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:89:1
[INFO] [stdout]     |
[INFO] [stdout]  89 | define_sqlite_rowid!(PauseId);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / define_standard_string_newtype! {
[INFO] [stdout]  94 | |     Hostname [
[INFO] [stdout]  95 | |         error("syntactically invalid hostname");
[INFO] [stdout]  96 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / define_standard_string_newtype! {
[INFO] [stdout]  94 | |     Hostname [
[INFO] [stdout]  95 | |         error("syntactically invalid hostname");
[INFO] [stdout]  96 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | / define_standard_string_newtype! {
[INFO] [stdout] 144 | |     /// Might be 0000 for "none"
[INFO] [stdout] 145 | |     GitObjectIdOrNull []:
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     fn map_err(ae: AE) -> Self::Error { InvalidGitObjectId(ae) }
[INFO] [stdout] 156 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | / define_standard_string_newtype! {
[INFO] [stdout] 144 | |     /// Might be 0000 for "none"
[INFO] [stdout] 145 | |     GitObjectIdOrNull []:
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     fn map_err(ae: AE) -> Self::Error { InvalidGitObjectId(ae) }
[INFO] [stdout] 156 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:33:19
[INFO] [stdout]     |
[INFO] [stdout]  33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deftly, Clone)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / define_standard_string_newtype! {
[INFO] [stdout] 204 | |     TagObjectData [
[INFO] [stdout] 205 | |         error("syntactically invalid tag data");
[INFO] [stdout] 206 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |     fn char_ok(_c: char) -> bool { true }
[INFO] [stdout] 210 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / define_standard_string_newtype! {
[INFO] [stdout] 204 | |     TagObjectData [
[INFO] [stdout] 205 | |         error("syntactically invalid tag data");
[INFO] [stdout] 206 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |     fn char_ok(_c: char) -> bool { true }
[INFO] [stdout] 210 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | / define_standard_string_newtype! {
[INFO] [stdout] 227 | |     ProcessingInfo []:
[INFO] [stdout] 228 | |
[INFO] [stdout] 229 | |     type Error = EmptyProcessingInfo;
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     fn map_err(_: AE) -> Self::Error { EmptyProcessingInfo }
[INFO] [stdout] 237 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | / define_standard_string_newtype! {
[INFO] [stdout] 227 | |     ProcessingInfo []:
[INFO] [stdout] 228 | |
[INFO] [stdout] 229 | |     type Error = EmptyProcessingInfo;
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     fn map_err(_: AE) -> Self::Error { EmptyProcessingInfo }
[INFO] [stdout] 237 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | / define_standard_string_newtype! {
[INFO] [stdout] 249 | |     /// Debian Policy 6.5.1
[INFO] [stdout] 250 | |     ///
[INFO] [stdout] 251 | |     /// (Validation is complete according to that spec.)
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | / define_standard_string_newtype! {
[INFO] [stdout] 249 | |     /// Debian Policy 6.5.1
[INFO] [stdout] 250 | |     ///
[INFO] [stdout] 251 | |     /// (Validation is complete according to that spec.)
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | / define_standard_string_newtype! {
[INFO] [stdout] 273 | |     /// Debian version string (Policy 5.6.12)
[INFO] [stdout] 274 | |     ///
[INFO] [stdout] 275 | |     /// We don't validate this completely,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | / define_standard_string_newtype! {
[INFO] [stdout] 273 | |     /// Debian version string (Policy 5.6.12)
[INFO] [stdout] 274 | |     ///
[INFO] [stdout] 275 | |     /// We don't validate this completely,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:292:1
[INFO] [stdout]     |
[INFO] [stdout] 292 | / define_standard_string_newtype! {
[INFO] [stdout] 293 | |     WorkerId [
[INFO] [stdout] 294 | |         error("syntactically invalid worker id");
[INFO] [stdout] 295 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:292:1
[INFO] [stdout]     |
[INFO] [stdout] 292 | / define_standard_string_newtype! {
[INFO] [stdout] 293 | |     WorkerId [
[INFO] [stdout] 294 | |         error("syntactically invalid worker id");
[INFO] [stdout] 295 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:317:1
[INFO] [stdout]     |
[INFO] [stdout] 317 | ui_display_via_to_string! { WorkerFidelity }
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ui_routes.rs:70:14
[INFO] [stdout]    |
[INFO] [stdout] 70 |     #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]    |              ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ui_routes.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq, Default)]
[INFO] [stdout]    |              ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Earlier` is never constructed
[INFO] [stdout]    --> src/db_workflow.rs:285:12
[INFO] [stdout]     |
[INFO] [stdout] 285 |     struct Earlier {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/bsql_rows.rs:26:13
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn cols(&self) -> impl Iterator<Item = AsBSqlColumnData> {
[INFO] [stdout]    |             ^^^^^                          ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn cols(&self) -> impl Iterator<Item = AsBSqlColumnData<'_>> {
[INFO] [stdout]    |                                                            ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types_string_abstract.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 | #[derive(Deftly)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/ui_abstract.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn ui_display(&self) -> Cow<str>;
[INFO] [stdout]   |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |                   |
[INFO] [stdout]   |                   the lifetime is elided here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 6 |     fn ui_display(&self) -> Cow<'_, str>;
[INFO] [stdout]   |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:11:21
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn ui_serialize(&self) -> HashMap<&str, Cow<str>> {
[INFO] [stdout]    |                     ^^^^^             ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |                 |
[INFO] [stdout]    |                     |                 the same lifetime is elided here
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn ui_serialize(&self) -> HashMap<&str, Cow<'_, str>> {
[INFO] [stdout]    |                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:17:18
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)>;
[INFO] [stdout]    |                  ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                  |                               |
[INFO] [stdout]    |                  |                               the same lifetime is elided here
[INFO] [stdout]    |                  the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 17 |     fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)>;
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:95:19
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn ui_display(&self) -> Cow<str> { Cow::Borrowed(self) }
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn ui_display(&self) -> Cow<'_, str> { Cow::Borrowed(self) }
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:99:19
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 99 |     fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:105:19
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout] ...
[INFO] [stdout] 118 | ui_display_via_to_string! { i64 }
[INFO] [stdout]     | --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/db_data.rs:67:10
[INFO] [stdout]    |
[INFO] [stdout] 67 | #[derive(Deftly)]
[INFO] [stdout]    |          ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/db_data.rs:82:17
[INFO] [stdout]    |
[INFO] [stdout] 82 | #[derive(Debug, Deftly, Clone)]
[INFO] [stdout]    |                 ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:60:19
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Deftly, strum::EnumIter)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToSqlEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:78:23
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:104:10
[INFO] [stdout]     |
[INFO] [stdout] 104 | #[derive(Deftly, strum::EnumIter)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:78:23
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:167:32
[INFO] [stdout]     |
[INFO] [stdout] 167 | #[derive(derive_more::Display, Deftly)]
[INFO] [stdout]     |                                ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:60:19
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:167:32
[INFO] [stdout]     |
[INFO] [stdout] 167 | #[derive(derive_more::Display, Deftly)]
[INFO] [stdout]     |                                ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToSqlEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:49:22
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]     |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                               |
[INFO] [stdout]     |                      |                               the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:208:10
[INFO] [stdout]     |
[INFO] [stdout] 208 | #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:49:22
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]     |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                      |                               |
[INFO] [stdout]     |                      |                               the same lifetime is elided here
[INFO] [stdout]     |                      the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/db_data.rs:217:10
[INFO] [stdout]     |
[INFO] [stdout] 217 | #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]     |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/o2m_messages.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ui_display(&self) -> Cow<str> { (*self as isize).to_string().into() }
[INFO] [stdout]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 43 |     fn ui_display(&self) -> Cow<'_, str> { (*self as isize).to_string().into() }
[INFO] [stdout]    |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/o2m_tracker.rs:18:56
[INFO] [stdout]    |
[INFO] [stdout] 18 | #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Deftly)]
[INFO] [stdout]    |                                                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:78:23
[INFO] [stdout]    |
[INFO] [stdout] 78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                       |
[INFO] [stdout]    |                       the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/o2m_tracker.rs:34:56
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Deftly)]
[INFO] [stdout]    |                                                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/o2m_tracker.rs:76:13
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn lock(&self) -> MutexGuard<State> {
[INFO] [stdout]    |             ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |             |
[INFO] [stdout]    |             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn lock(&self) -> MutexGuard<'_, State> {
[INFO] [stdout]    |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/t2umeta.rs:7:24
[INFO] [stdout]    |
[INFO] [stdout]  7 | #[derive(Debug, Clone, Deftly)]
[INFO] [stdout]    |                        ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/types_string_abstract.rs:24:27
[INFO] [stdout]    |
[INFO] [stdout] 24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]    |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]    |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:20:19
[INFO] [stdout]    |
[INFO] [stdout] 20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:4:1
[INFO] [stdout]    |
[INFO] [stdout]  4 | / define_string_newtypes! {
[INFO] [stdout]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stdout]  6 | |     GitObjectId;
[INFO] [stdout] ...  |
[INFO] [stdout]  9 | |     ForgeNamever;
[INFO] [stdout] 10 | | }
[INFO] [stdout]    | |_- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:14:55
[INFO] [stdout]    |
[INFO] [stdout] 14 | #[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Deftly, From, Into)]
[INFO] [stdout]    |                                                       ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:68:1
[INFO] [stdout]     |
[INFO] [stdout]  68 | ui_display_via_to_string! { TimeT }
[INFO] [stdout]     | ----------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | define_sqlite_rowid!(JobId);
[INFO] [stdout]    | --------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:88:1
[INFO] [stdout]     |
[INFO] [stdout]  88 | define_sqlite_rowid!(JobId);
[INFO] [stdout]     | --------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/sql_types.rs:33:19
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                   |
[INFO] [stdout]    |                   the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/types.rs:89:1
[INFO] [stdout]    |
[INFO] [stdout] 89 | define_sqlite_rowid!(PauseId);
[INFO] [stdout]    | ----------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]    |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:89:1
[INFO] [stdout]     |
[INFO] [stdout]  89 | define_sqlite_rowid!(PauseId);
[INFO] [stdout]     | ----------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / define_standard_string_newtype! {
[INFO] [stdout]  94 | |     Hostname [
[INFO] [stdout]  95 | |         error("syntactically invalid hostname");
[INFO] [stdout]  96 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:93:1
[INFO] [stdout]     |
[INFO] [stdout]  93 | / define_standard_string_newtype! {
[INFO] [stdout]  94 | |     Hostname [
[INFO] [stdout]  95 | |         error("syntactically invalid hostname");
[INFO] [stdout]  96 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 117 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | / define_standard_string_newtype! {
[INFO] [stdout] 144 | |     /// Might be 0000 for "none"
[INFO] [stdout] 145 | |     GitObjectIdOrNull []:
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     fn map_err(ae: AE) -> Self::Error { InvalidGitObjectId(ae) }
[INFO] [stdout] 156 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:143:1
[INFO] [stdout]     |
[INFO] [stdout] 143 | / define_standard_string_newtype! {
[INFO] [stdout] 144 | |     /// Might be 0000 for "none"
[INFO] [stdout] 145 | |     GitObjectIdOrNull []:
[INFO] [stdout] ...   |
[INFO] [stdout] 155 | |     fn map_err(ae: AE) -> Self::Error { InvalidGitObjectId(ae) }
[INFO] [stdout] 156 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:33:19
[INFO] [stdout]     |
[INFO] [stdout]  33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                   |
[INFO] [stdout]     |                   the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:192:10
[INFO] [stdout]     |
[INFO] [stdout] 192 | #[derive(Deftly, Clone)]
[INFO] [stdout]     |          ------ in this derive macro expansion
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / define_standard_string_newtype! {
[INFO] [stdout] 204 | |     TagObjectData [
[INFO] [stdout] 205 | |         error("syntactically invalid tag data");
[INFO] [stdout] 206 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |     fn char_ok(_c: char) -> bool { true }
[INFO] [stdout] 210 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:203:1
[INFO] [stdout]     |
[INFO] [stdout] 203 | / define_standard_string_newtype! {
[INFO] [stdout] 204 | |     TagObjectData [
[INFO] [stdout] 205 | |         error("syntactically invalid tag data");
[INFO] [stdout] 206 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 209 | |     fn char_ok(_c: char) -> bool { true }
[INFO] [stdout] 210 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | / define_standard_string_newtype! {
[INFO] [stdout] 227 | |     ProcessingInfo []:
[INFO] [stdout] 228 | |
[INFO] [stdout] 229 | |     type Error = EmptyProcessingInfo;
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     fn map_err(_: AE) -> Self::Error { EmptyProcessingInfo }
[INFO] [stdout] 237 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:226:1
[INFO] [stdout]     |
[INFO] [stdout] 226 | / define_standard_string_newtype! {
[INFO] [stdout] 227 | |     ProcessingInfo []:
[INFO] [stdout] 228 | |
[INFO] [stdout] 229 | |     type Error = EmptyProcessingInfo;
[INFO] [stdout] ...   |
[INFO] [stdout] 236 | |     fn map_err(_: AE) -> Self::Error { EmptyProcessingInfo }
[INFO] [stdout] 237 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | / define_standard_string_newtype! {
[INFO] [stdout] 249 | |     /// Debian Policy 6.5.1
[INFO] [stdout] 250 | |     ///
[INFO] [stdout] 251 | |     /// (Validation is complete according to that spec.)
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:248:1
[INFO] [stdout]     |
[INFO] [stdout] 248 | / define_standard_string_newtype! {
[INFO] [stdout] 249 | |     /// Debian Policy 6.5.1
[INFO] [stdout] 250 | |     ///
[INFO] [stdout] 251 | |     /// (Validation is complete according to that spec.)
[INFO] [stdout] ...   |
[INFO] [stdout] 268 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | / define_standard_string_newtype! {
[INFO] [stdout] 273 | |     /// Debian version string (Policy 5.6.12)
[INFO] [stdout] 274 | |     ///
[INFO] [stdout] 275 | |     /// We don't validate this completely,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:272:1
[INFO] [stdout]     |
[INFO] [stdout] 272 | / define_standard_string_newtype! {
[INFO] [stdout] 273 | |     /// Debian version string (Policy 5.6.12)
[INFO] [stdout] 274 | |     ///
[INFO] [stdout] 275 | |     /// We don't validate this completely,
[INFO] [stdout] ...   |
[INFO] [stdout] 288 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sql_types.rs:20:19
[INFO] [stdout]     |
[INFO] [stdout]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stdout]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:292:1
[INFO] [stdout]     |
[INFO] [stdout] 292 | / define_standard_string_newtype! {
[INFO] [stdout] 293 | |     WorkerId [
[INFO] [stdout] 294 | |         error("syntactically invalid worker id");
[INFO] [stdout] 295 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stdout]     |                                                                          ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/types_string_abstract.rs:24:27
[INFO] [stdout]     |
[INFO] [stdout]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stdout]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:292:1
[INFO] [stdout]     |
[INFO] [stdout] 292 | / define_standard_string_newtype! {
[INFO] [stdout] 293 | |     WorkerId [
[INFO] [stdout] 294 | |         error("syntactically invalid worker id");
[INFO] [stdout] 295 | |     ]:
[INFO] [stdout] ...   |
[INFO] [stdout] 305 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ui_abstract.rs:114:23
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                       |
[INFO] [stdout]     |                       the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/types.rs:317:1
[INFO] [stdout]     |
[INFO] [stdout] 317 | ui_display_via_to_string! { WorkerFidelity }
[INFO] [stdout]     | -------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stdout]     |                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ui_routes.rs:70:14
[INFO] [stdout]    |
[INFO] [stdout] 70 |     #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stdout]    |              ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/ui_abstract.rs:49:22
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stdout]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                      |                               |
[INFO] [stdout]    |                      |                               the same lifetime is elided here
[INFO] [stdout]    |                      the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]   ::: src/ui_routes.rs:77:14
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq, Default)]
[INFO] [stdout]    |              ------ in this derive macro expansion
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]  --> src/test/t_utils.rs:6:15
[INFO] [stdout]   |
[INFO] [stdout] 6 |     temp_dir: &TestTempDir,
[INFO] [stdout]   |               ^^^^^^^^^^^^ the lifetime is elided here
[INFO] [stdout] 7 |     f: impl FnOnce(&str) -> TestResult<T>,
[INFO] [stdout] 8 | ) -> TestResult<TestTempDirGuard<T>> {
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]   |
[INFO] [stdout]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]   |
[INFO] [stdout] 8 | ) -> TestResult<TestTempDirGuard<'_, T>> {
[INFO] [stdout]   |                                  +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/test/t_utils.rs:53:32
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn t_unquote_filename_bodge(f: &str) -> Cow<str> {
[INFO] [stdout]    |                                ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 53 | fn t_unquote_filename_bodge(f: &str) -> Cow<'_, str> {
[INFO] [stdout]    |                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 31s
[INFO] running `Command { std: "docker" "inspect" "6323fe8c8f42b4652ec21b49f8a4e929456645b6958e239e1e6052aa73476e48", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6323fe8c8f42b4652ec21b49f8a4e929456645b6958e239e1e6052aa73476e48", kill_on_drop: false }`
[INFO] [stdout] 6323fe8c8f42b4652ec21b49f8a4e929456645b6958e239e1e6052aa73476e48
[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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2025-09-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 29bf69157a5aaa3f607fabee5425da0f1421e1583f4a3af6fcd90fac6b51a32c
[INFO] running `Command { std: "docker" "start" "-a" "29bf69157a5aaa3f607fabee5425da0f1421e1583f4a3af6fcd90fac6b51a32c", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/bsql_queries.rs:64:18
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub &'s [&'s (dyn IsFragment)],
[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] 64 -     pub &'s [&'s (dyn IsFragment)],
[INFO] [stderr] 64 +     pub &'s [&'s dyn IsFragment],
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/bsql_queries.rs:93:37
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub fn mk_params(&self) -> Vec<&(dyn ToSql)> {
[INFO] [stderr]    |                                     ^         ^
[INFO] [stderr]    |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 93 -     pub fn mk_params(&self) -> Vec<&(dyn ToSql)> {
[INFO] [stderr] 93 +     pub fn mk_params(&self) -> Vec<&dyn ToSql> {
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]    --> src/bsql_queries.rs:103:15
[INFO] [stderr]     |
[INFO] [stderr] 103 |     ) -> Vec<&(dyn ToSql)> {
[INFO] [stderr]     |               ^         ^
[INFO] [stderr]     |
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]     |
[INFO] [stderr] 103 -     ) -> Vec<&(dyn ToSql)> {
[INFO] [stderr] 103 +     ) -> Vec<&dyn ToSql> {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Earlier` is never constructed
[INFO] [stderr]    --> src/db_workflow.rs:285:12
[INFO] [stderr]     |
[INFO] [stderr] 285 |     struct Earlier {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/bsql_rows.rs:26:13
[INFO] [stderr]    |
[INFO] [stderr] 26 |     fn cols(&self) -> impl Iterator<Item = AsBSqlColumnData> {
[INFO] [stderr]    |             ^^^^^                          ^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |             |
[INFO] [stderr]    |             the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 26 |     fn cols(&self) -> impl Iterator<Item = AsBSqlColumnData<'_>> {
[INFO] [stderr]    |                                                            ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:20:19
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types_string_abstract.rs:209:10
[INFO] [stderr]     |
[INFO] [stderr] 209 | #[derive(Deftly)]
[INFO] [stderr]     |          ------ in this derive macro expansion
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]  --> src/ui_abstract.rs:6:19
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn ui_display(&self) -> Cow<str>;
[INFO] [stderr]   |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |                   |
[INFO] [stderr]   |                   the lifetime is elided here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]   |
[INFO] [stderr] 6 |     fn ui_display(&self) -> Cow<'_, str>;
[INFO] [stderr]   |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:11:21
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fn ui_serialize(&self) -> HashMap<&str, Cow<str>> {
[INFO] [stderr]    |                     ^^^^^             ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |                 |
[INFO] [stderr]    |                     |                 the same lifetime is elided here
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fn ui_serialize(&self) -> HashMap<&str, Cow<'_, str>> {
[INFO] [stderr]    |                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:17:18
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)>;
[INFO] [stderr]    |                  ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                  |                               |
[INFO] [stderr]    |                  |                               the same lifetime is elided here
[INFO] [stderr]    |                  the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 17 |     fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)>;
[INFO] [stderr]    |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:95:19
[INFO] [stderr]    |
[INFO] [stderr] 95 |     fn ui_display(&self) -> Cow<str> { Cow::Borrowed(self) }
[INFO] [stderr]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 95 |     fn ui_display(&self) -> Cow<'_, str> { Cow::Borrowed(self) }
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:99:19
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 99 |     fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:105:19
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:114:23
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr] ...
[INFO] [stderr] 118 | ui_display_via_to_string! { i64 }
[INFO] [stderr]     | --------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:49:22
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stderr]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |                               |
[INFO] [stderr]    |                      |                               the same lifetime is elided here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/db_data.rs:67:10
[INFO] [stderr]    |
[INFO] [stderr] 67 | #[derive(Deftly)]
[INFO] [stderr]    |          ------ in this derive macro expansion
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stderr]    |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:49:22
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stderr]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |                               |
[INFO] [stderr]    |                      |                               the same lifetime is elided here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/db_data.rs:82:17
[INFO] [stderr]    |
[INFO] [stderr] 82 | #[derive(Debug, Deftly, Clone)]
[INFO] [stderr]    |                 ------ in this derive macro expansion
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stderr]    |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:60:19
[INFO] [stderr]     |
[INFO] [stderr]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/db_data.rs:104:10
[INFO] [stderr]     |
[INFO] [stderr] 104 | #[derive(Deftly, strum::EnumIter)]
[INFO] [stderr]     |          ------ in this derive macro expansion
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_ToSqlEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:78:23
[INFO] [stderr]     |
[INFO] [stderr]  78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/db_data.rs:104:10
[INFO] [stderr]     |
[INFO] [stderr] 104 | #[derive(Deftly, strum::EnumIter)]
[INFO] [stderr]     |          ------ in this derive macro expansion
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:78:23
[INFO] [stderr]     |
[INFO] [stderr]  78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/db_data.rs:167:32
[INFO] [stderr]     |
[INFO] [stderr] 167 | #[derive(derive_more::Display, Deftly)]
[INFO] [stderr]     |                                ------ in this derive macro expansion
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:60:19
[INFO] [stderr]     |
[INFO] [stderr]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/db_data.rs:167:32
[INFO] [stderr]     |
[INFO] [stderr] 167 | #[derive(derive_more::Display, Deftly)]
[INFO] [stderr]     |                                ------ in this derive macro expansion
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_ToSqlEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  60 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:49:22
[INFO] [stderr]     |
[INFO] [stderr]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stderr]     |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |                               |
[INFO] [stderr]     |                      |                               the same lifetime is elided here
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/db_data.rs:208:10
[INFO] [stderr]     |
[INFO] [stderr] 208 | #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stderr]     |          ------ in this derive macro expansion
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stderr]     |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:49:22
[INFO] [stderr]     |
[INFO] [stderr]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stderr]     |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                      |                               |
[INFO] [stderr]     |                      |                               the same lifetime is elided here
[INFO] [stderr]     |                      the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/db_data.rs:217:10
[INFO] [stderr]     |
[INFO] [stderr] 217 | #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stderr]     |          ------ in this derive macro expansion
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stderr]     |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/o2m_messages.rs:43:19
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn ui_display(&self) -> Cow<str> { (*self as isize).to_string().into() }
[INFO] [stderr]    |                   ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 43 |     fn ui_display(&self) -> Cow<'_, str> { (*self as isize).to_string().into() }
[INFO] [stderr]    |                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:49:22
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stderr]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |                               |
[INFO] [stderr]    |                      |                               the same lifetime is elided here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/o2m_tracker.rs:18:56
[INFO] [stderr]    |
[INFO] [stderr] 18 | #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Deftly)]
[INFO] [stderr]    |                                                        ------ in this derive macro expansion
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stderr]    |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:78:23
[INFO] [stderr]    |
[INFO] [stderr] 78 |         fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]    |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                       |
[INFO] [stderr]    |                       the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/o2m_tracker.rs:34:56
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(Debug, Clone, Ord, PartialOrd, Eq, PartialEq, Deftly)]
[INFO] [stderr]    |                                                        ------ in this derive macro expansion
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_UiDisplayEnum` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 78 |         fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]    |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/o2m_tracker.rs:76:13
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn lock(&self) -> MutexGuard<State> {
[INFO] [stderr]    |             ^^^^^     ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |             |
[INFO] [stderr]    |             the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 76 |     fn lock(&self) -> MutexGuard<'_, State> {
[INFO] [stderr]    |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:49:22
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stderr]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |                               |
[INFO] [stderr]    |                      |                               the same lifetime is elided here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/t2umeta.rs:7:24
[INFO] [stderr]    |
[INFO] [stderr]  7 | #[derive(Debug, Clone, Deftly)]
[INFO] [stderr]    |                        ------ in this derive macro expansion
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stderr]    |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/sql_types.rs:20:19
[INFO] [stderr]    |
[INFO] [stderr] 20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]    |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                     |
[INFO] [stderr]    |                     the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/types.rs:4:1
[INFO] [stderr]    |
[INFO] [stderr]  4 | / define_string_newtypes! {
[INFO] [stderr]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stderr]  6 | |     GitObjectId;
[INFO] [stderr] ...  |
[INFO] [stderr]  9 | |     ForgeNamever;
[INFO] [stderr] 10 | | }
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]    |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/types_string_abstract.rs:24:27
[INFO] [stderr]    |
[INFO] [stderr] 24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]    |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/types.rs:4:1
[INFO] [stderr]    |
[INFO] [stderr]  4 | / define_string_newtypes! {
[INFO] [stderr]  5 | |     /// Cannot be 0000 for "none"
[INFO] [stderr]  6 | |     GitObjectId;
[INFO] [stderr] ...  |
[INFO] [stderr]  9 | |     ForgeNamever;
[INFO] [stderr] 10 | | }
[INFO] [stderr]    | |_- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `define_string_newtypes` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]    |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/sql_types.rs:33:19
[INFO] [stderr]    |
[INFO] [stderr] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/types.rs:14:55
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Deftly, From, Into)]
[INFO] [stderr]    |                                                       ------ in this derive macro expansion
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]    |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:114:23
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:68:1
[INFO] [stderr]     |
[INFO] [stderr]  68 | ui_display_via_to_string! { TimeT }
[INFO] [stderr]     | ----------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/sql_types.rs:33:19
[INFO] [stderr]    |
[INFO] [stderr] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/types.rs:88:1
[INFO] [stderr]    |
[INFO] [stderr] 88 | define_sqlite_rowid!(JobId);
[INFO] [stderr]    | --------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]    |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:114:23
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:88:1
[INFO] [stderr]     |
[INFO] [stderr]  88 | define_sqlite_rowid!(JobId);
[INFO] [stderr]     | --------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `ui_display_via_to_string` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/sql_types.rs:33:19
[INFO] [stderr]    |
[INFO] [stderr] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]    |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                   |
[INFO] [stderr]    |                   the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/types.rs:89:1
[INFO] [stderr]    |
[INFO] [stderr] 89 | define_sqlite_rowid!(PauseId);
[INFO] [stderr]    | ----------------------------- in this macro invocation
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]    |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:114:23
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:89:1
[INFO] [stderr]     |
[INFO] [stderr]  89 | define_sqlite_rowid!(PauseId);
[INFO] [stderr]     | ----------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `ui_display_via_to_string` which comes from the expansion of the macro `define_sqlite_rowid` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:20:19
[INFO] [stderr]     |
[INFO] [stderr]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:93:1
[INFO] [stderr]     |
[INFO] [stderr]  93 | / define_standard_string_newtype! {
[INFO] [stderr]  94 | |     Hostname [
[INFO] [stderr]  95 | |         error("syntactically invalid hostname");
[INFO] [stderr]  96 | |     ]:
[INFO] [stderr] ...   |
[INFO] [stderr] 117 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types_string_abstract.rs:24:27
[INFO] [stderr]     |
[INFO] [stderr]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:93:1
[INFO] [stderr]     |
[INFO] [stderr]  93 | / define_standard_string_newtype! {
[INFO] [stderr]  94 | |     Hostname [
[INFO] [stderr]  95 | |         error("syntactically invalid hostname");
[INFO] [stderr]  96 | |     ]:
[INFO] [stderr] ...   |
[INFO] [stderr] 117 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:20:19
[INFO] [stderr]     |
[INFO] [stderr]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:143:1
[INFO] [stderr]     |
[INFO] [stderr] 143 | / define_standard_string_newtype! {
[INFO] [stderr] 144 | |     /// Might be 0000 for "none"
[INFO] [stderr] 145 | |     GitObjectIdOrNull []:
[INFO] [stderr] ...   |
[INFO] [stderr] 155 | |     fn map_err(ae: AE) -> Self::Error { InvalidGitObjectId(ae) }
[INFO] [stderr] 156 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types_string_abstract.rs:24:27
[INFO] [stderr]     |
[INFO] [stderr]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:143:1
[INFO] [stderr]     |
[INFO] [stderr] 143 | / define_standard_string_newtype! {
[INFO] [stderr] 144 | |     /// Might be 0000 for "none"
[INFO] [stderr] 145 | |     GitObjectIdOrNull []:
[INFO] [stderr] ...   |
[INFO] [stderr] 155 | |     fn map_err(ae: AE) -> Self::Error { InvalidGitObjectId(ae) }
[INFO] [stderr] 156 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:33:19
[INFO] [stderr]     |
[INFO] [stderr]  33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                   ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                   |
[INFO] [stderr]     |                   the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:192:10
[INFO] [stderr]     |
[INFO] [stderr] 192 | #[derive(Deftly, Clone)]
[INFO] [stderr]     |          ------ in this derive macro expansion
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_ToFromSqlInner` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  33 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:20:19
[INFO] [stderr]     |
[INFO] [stderr]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:203:1
[INFO] [stderr]     |
[INFO] [stderr] 203 | / define_standard_string_newtype! {
[INFO] [stderr] 204 | |     TagObjectData [
[INFO] [stderr] 205 | |         error("syntactically invalid tag data");
[INFO] [stderr] 206 | |     ]:
[INFO] [stderr] ...   |
[INFO] [stderr] 209 | |     fn char_ok(_c: char) -> bool { true }
[INFO] [stderr] 210 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types_string_abstract.rs:24:27
[INFO] [stderr]     |
[INFO] [stderr]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:203:1
[INFO] [stderr]     |
[INFO] [stderr] 203 | / define_standard_string_newtype! {
[INFO] [stderr] 204 | |     TagObjectData [
[INFO] [stderr] 205 | |         error("syntactically invalid tag data");
[INFO] [stderr] 206 | |     ]:
[INFO] [stderr] ...   |
[INFO] [stderr] 209 | |     fn char_ok(_c: char) -> bool { true }
[INFO] [stderr] 210 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:20:19
[INFO] [stderr]     |
[INFO] [stderr]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:226:1
[INFO] [stderr]     |
[INFO] [stderr] 226 | / define_standard_string_newtype! {
[INFO] [stderr] 227 | |     ProcessingInfo []:
[INFO] [stderr] 228 | |
[INFO] [stderr] 229 | |     type Error = EmptyProcessingInfo;
[INFO] [stderr] ...   |
[INFO] [stderr] 236 | |     fn map_err(_: AE) -> Self::Error { EmptyProcessingInfo }
[INFO] [stderr] 237 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types_string_abstract.rs:24:27
[INFO] [stderr]     |
[INFO] [stderr]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:226:1
[INFO] [stderr]     |
[INFO] [stderr] 226 | / define_standard_string_newtype! {
[INFO] [stderr] 227 | |     ProcessingInfo []:
[INFO] [stderr] 228 | |
[INFO] [stderr] 229 | |     type Error = EmptyProcessingInfo;
[INFO] [stderr] ...   |
[INFO] [stderr] 236 | |     fn map_err(_: AE) -> Self::Error { EmptyProcessingInfo }
[INFO] [stderr] 237 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:20:19
[INFO] [stderr]     |
[INFO] [stderr]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:248:1
[INFO] [stderr]     |
[INFO] [stderr] 248 | / define_standard_string_newtype! {
[INFO] [stderr] 249 | |     /// Debian Policy 6.5.1
[INFO] [stderr] 250 | |     ///
[INFO] [stderr] 251 | |     /// (Validation is complete according to that spec.)
[INFO] [stderr] ...   |
[INFO] [stderr] 268 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types_string_abstract.rs:24:27
[INFO] [stderr]     |
[INFO] [stderr]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:248:1
[INFO] [stderr]     |
[INFO] [stderr] 248 | / define_standard_string_newtype! {
[INFO] [stderr] 249 | |     /// Debian Policy 6.5.1
[INFO] [stderr] 250 | |     ///
[INFO] [stderr] 251 | |     /// (Validation is complete according to that spec.)
[INFO] [stderr] ...   |
[INFO] [stderr] 268 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:20:19
[INFO] [stderr]     |
[INFO] [stderr]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:272:1
[INFO] [stderr]     |
[INFO] [stderr] 272 | / define_standard_string_newtype! {
[INFO] [stderr] 273 | |     /// Debian version string (Policy 5.6.12)
[INFO] [stderr] 274 | |     ///
[INFO] [stderr] 275 | |     /// We don't validate this completely,
[INFO] [stderr] ...   |
[INFO] [stderr] 288 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types_string_abstract.rs:24:27
[INFO] [stderr]     |
[INFO] [stderr]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:272:1
[INFO] [stderr]     |
[INFO] [stderr] 272 | / define_standard_string_newtype! {
[INFO] [stderr] 273 | |     /// Debian version string (Policy 5.6.12)
[INFO] [stderr] 274 | |     ///
[INFO] [stderr] 275 | |     /// We don't validate this completely,
[INFO] [stderr] ...   |
[INFO] [stderr] 288 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sql_types.rs:20:19
[INFO] [stderr]     |
[INFO] [stderr]  20 |           fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput> {
[INFO] [stderr]     |                     ^^^^^                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                     |
[INFO] [stderr]     |                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:292:1
[INFO] [stderr]     |
[INFO] [stderr] 292 | / define_standard_string_newtype! {
[INFO] [stderr] 293 | |     WorkerId [
[INFO] [stderr] 294 | |         error("syntactically invalid worker id");
[INFO] [stderr] 295 | |     ]:
[INFO] [stderr] ...   |
[INFO] [stderr] 305 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `derive_deftly_template_SqlViaString` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  20 |         fn to_sql(&self) -> rusqlite::Result<rusqlite::types::ToSqlOutput<'_>> {
[INFO] [stderr]     |                                                                          ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/types_string_abstract.rs:24:27
[INFO] [stderr]     |
[INFO] [stderr]  24 |               fn ui_display(&self) -> Cow<str> {
[INFO] [stderr]     |                             ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                             |
[INFO] [stderr]     |                             the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:292:1
[INFO] [stderr]     |
[INFO] [stderr] 292 | / define_standard_string_newtype! {
[INFO] [stderr] 293 | |     WorkerId [
[INFO] [stderr] 294 | |         error("syntactically invalid worker id");
[INFO] [stderr] 295 | |     ]:
[INFO] [stderr] ...   |
[INFO] [stderr] 305 | | }
[INFO] [stderr]     | |_- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `$crate::define_string_newtypes` which comes from the expansion of the macro `define_standard_string_newtype` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr]  24 |             fn ui_display(&self) -> Cow<'_, str> {
[INFO] [stderr]     |                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ui_abstract.rs:114:23
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                       ^^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                       |
[INFO] [stderr]     |                       the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]    ::: src/types.rs:317:1
[INFO] [stderr]     |
[INFO] [stderr] 317 | ui_display_via_to_string! { WorkerFidelity }
[INFO] [stderr]     | -------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: this warning originates in the macro `ui_display_via_to_string` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 114 |         fn ui_display(&self) -> Cow<'_, str> { Cow::Owned(self.to_string()) }
[INFO] [stderr]     |                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:49:22
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stderr]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |                               |
[INFO] [stderr]    |                      |                               the same lifetime is elided here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/ui_routes.rs:70:14
[INFO] [stderr]    |
[INFO] [stderr] 70 |     #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq)]
[INFO] [stderr]    |              ------ in this derive macro expansion
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stderr]    |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/ui_abstract.rs:49:22
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<str>)> {
[INFO] [stderr]    |                      ^^^^^                           ^^^^  ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                      |                               |
[INFO] [stderr]    |                      |                               the same lifetime is elided here
[INFO] [stderr]    |                      the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]   ::: src/ui_routes.rs:77:14
[INFO] [stderr]    |
[INFO] [stderr] 77 |     #[derive(Deftly, Ord, PartialOrd, Eq, PartialEq, Default)]
[INFO] [stderr]    |              ------ in this derive macro expansion
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: this warning originates in the macro `derive_deftly_template_UiMap` which comes from the expansion of the derive macro `Deftly` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 49 |         fn ui_fields(&self) -> impl Iterator<Item = (&str, Cow<'_, str>)> {
[INFO] [stderr]    |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: `tag2upload-service-manager` (lib) generated 53 warnings (1 duplicate) (run `cargo fix --lib -p tag2upload-service-manager` to apply 51 suggestions)
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]  --> src/test/t_utils.rs:6:15
[INFO] [stderr]   |
[INFO] [stderr] 6 |     temp_dir: &TestTempDir,
[INFO] [stderr]   |               ^^^^^^^^^^^^ the lifetime is elided here
[INFO] [stderr] 7 |     f: impl FnOnce(&str) -> TestResult<T>,
[INFO] [stderr] 8 | ) -> TestResult<TestTempDirGuard<T>> {
[INFO] [stderr]   |                 ^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]   |
[INFO] [stderr]   = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]   |
[INFO] [stderr] 8 | ) -> TestResult<TestTempDirGuard<'_, T>> {
[INFO] [stderr]   |                                  +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/test/t_utils.rs:53:32
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn t_unquote_filename_bodge(f: &str) -> Cow<str> {
[INFO] [stderr]    |                                ^^^^     ^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                                |
[INFO] [stderr]    |                                the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 53 | fn t_unquote_filename_bodge(f: &str) -> Cow<'_, str> {
[INFO] [stderr]    |                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: `tag2upload-service-manager` (lib test) generated 55 warnings (53 duplicates) (run `cargo fix --lib -p tag2upload-service-manager --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.65s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tag2upload_service_manager-060dc6d0c84f95ac)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test fmt_cmp::test ... ok
[INFO] [stdout] test dns::chk_allowed_client ... ok
[INFO] [stdout] test t2umeta_abstract::test::debug_tag_meta ... ok
[INFO] [stdout] test config::timeouts_defaults ... ok
[INFO] [stdout] test bsql_queries::bsql_test::deadlock_1 ... ok
[INFO] [stdout] test bsql_queries::bsql_test::deadlock_many ... ok
[INFO] [stdout] test test::t_jcoalesce::not_simultaneous ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_building ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_irrecoverable ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_failed ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_not_for_us ... ok
[INFO] [stdout] test test::t_misc::with_let_compiles ... ok
[INFO] [stdout] test types::check_system_time_max ... ok
[INFO] [stdout] test types::hostname_tests ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_git_object_id_or_null ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_hostname ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_package_name ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_processing_info ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_tag_object_data ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_version_string ... ok
[INFO] [stdout] test types::suitable_for_none_is_empty_test_worker_id ... ok
[INFO] [stdout] test utils::ht_duration ... ok
[INFO] [stdout] test ui_render::check_embedded_tera_templates ... ok
[INFO] [stdout] test utils::ht_time_t ... ok
[INFO] [stdout] test test::t_misc::release_job_map ... ok
[INFO] [stdout] test test::t_misc::pages_json ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_noticed ... ok
[INFO] [stdout] test test::t_comprehensive::comprehensive ... FAILED
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_queued ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_uploaded ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- test::t_comprehensive::comprehensive stdout ----
[INFO] [stdout] test tag2upload_service_manager::test::t_comprehensive::comprehensive: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
[INFO] [stdout] 2025-10-01T14:11:30.277842Z DEBUG comprehensive: tag2upload_service_manager::global: starting config=Config { t2u: T2u { distro: "debian", forges: [Forge { host: "salsa.debian.org", kind: "gitlab", allow: [Addr(127.0.0.1/32)], max_concurrent_fetch: 3 }] }, intervals: Intervals { max_tag_age: HtDuration(259200s), max_tag_age_skew: HtDuration(1000s), expire: HtDuration(2764800s), expire_every: HtDuration(18000s), show_recent: HtDuration(86400s) }, timeouts: Timeouts { http_request: HtDuration(100s), git_clone: HtDuration(500s), unpause_poll: HtDuration(10s), disconnected_worker_expire: HtDuration(100s), socket_stat_interval: None, db_timeout: HtDuration(10s), db_retries: 100 }, limits: Limits { o2m_line: 16384 }, files: Files { db: "/tmp/.tmpjtHnUg/t2usm.db", o2m_socket: "/tmp/.tmpjtHnUg/o2m", scratch_dir: Some("/tmp/.tmpjtHnUg/scratch"), archive_dir: "/tmp/.tmpjtHnUg/archive", template_dir: None, port_report_file: Some("/tmp/.tmpjtHnUg/port"), self_git_dir: None }, vhosts: Vhosts { webhook: ["webhook.tag2upload.debian.org"], ui: ["tag2upload.debian.org"] }, log: Log { level: None, tracing: "", dir: None, schedule: Config({LevelFilter::INFO: LevelConfig { interval: Day, max_files: 28 }, LevelFilter::DEBUG: LevelConfig { interval: Hour, max_files: 72 }}) }, testing: Testing { time_offset: -33614312, fake_https_dir: None, allowed_source_packages: None }, .. } cli_options=CliOptions { config: [], config_toml: [], op: RunManager } computed_config=ComputedConfig { unified_webhook_acl: [Addr(127.0.0.1/32)], bsql_timeout: Timeout { per_attempt: 100ms, retries: 100 } }
[INFO] [stdout] 2025-10-01T14:11:30.872171Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2025-10-01T14:11:30.918133Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2025-10-01T14:11:30.918618Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2025-10-01T14:11:30.918977Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2025-10-01T14:11:30.919766Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2025-10-01T14:11:30.920139Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2025-10-01T14:11:30.920532Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2025-10-01T14:11:30.945241Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2025-10-01T14:11:30.945836Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2025-10-01T14:11:30.986359Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2025-10-01T14:11:31.052873Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.052903Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:343:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.053069Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.053096Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:343:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.053142Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.053159Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:343:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.053202Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.053221Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:343:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.053256Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.053273Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:343:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.053308Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.053325Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:343:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.053360Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.053378Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:343:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.055447Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.055475Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:343:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.055517Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.055531Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:344:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.061062Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.061093Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:344:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.061144Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.061165Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:344:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.061206Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.061228Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:344:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("NotForUs"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.061269Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.061289Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:344:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Failed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.061368Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.061394Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:344:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.061454Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.061473Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:344:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.061509Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:11:31.061527Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:344:17
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         INSERT INTO stats_by_shown_status_expired
[INFO] [stdout]                                     (shown_status, n_jobs)
[INFO] [stdout]                              VALUES ( ? , 0)
[INFO] [stdout]                         ON CONFLICT (shown_status) DO NOTHING
[INFO] [stdout]                             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Duplicate"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.065519Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:378:27
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET processing = ?
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2025-10-01T14:11:31.067564Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:384:27
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET last_update = ?, status = ?,
[INFO] [stdout]                        info =  ?  || info ||  ? 
[INFO] [stdout]                  WHERE processing != ''
[INFO] [stdout]             
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("service manager restarted while Building; may have been uploaded (was: "))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok(")"))))
[INFO] [stdout]     bsql_exec returned 0
[INFO] [stdout] 2025-10-01T14:11:31.067799Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmpjtHnUg/o2m"
[INFO] [stdout] 2025-10-01T14:11:31.075888Z TRACE comprehensive: tag2upload_service_manager::global: writing port file="/tmp/.tmpjtHnUg/port"
[INFO] [stdout] 2025-10-01T14:11:31.078176Z  INFO comprehensive: tag2upload_service_manager::global: running running=Running { port: 41727 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:41727
[INFO] [stdout] 2025-10-01T14:11:31.079019Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:52:59.079012618Z when=startup
[INFO] [stdout] 2025-10-01T14:11:31.192481Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:112:17
[INFO] [stdout] 2025-10-01T14:11:31.192544Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:11:31.192558Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN ( ?,?,? )
[INFO] [stdout]                        AND last_update <  ? 
[INFO] [stdout]             
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] 2025-10-01T14:11:31.192763Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:121:17
[INFO] [stdout] 2025-10-01T14:11:31.192794Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:35:31
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >=  ? 
[INFO] [stdout]             
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] 2025-10-01T14:11:31.192830Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:409:33
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.192902Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:11:31.192926Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:144:17
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.193027Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:11:31.193053Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:151:17
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.193126Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/expire.rs:210:37
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] 2025-10-01T14:11:31.193218Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] 2025-10-01T14:11:31.193266Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.196287Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>(re)starting<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:52:59Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td colspan=\"9\">\n\t    No workers connected.\n\t  </td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] 2025-10-01T14:11:31.277878Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:289:13
[INFO] [stdout] 2025-10-01T14:11:31.277928Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:11:31.277941Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] 2025-10-01T14:11:31.277951Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:35:31
[INFO] [stdout] bsql text: 
[INFO] [stdout]                           SELECT *
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN ( ?,?,? )
[INFO] [stdout]                        AND last_update <  ? 
[INFO] [stdout]             
[INFO] [stdout]                           UNION
[INFO] [stdout]                           SELECT *
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >=  ? 
[INFO] [stdout]             
[INFO] [stdout]                         ORDER BY last_update DESC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] 2025-10-01T14:11:31.278170Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/expire.rs:210:37
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] 2025-10-01T14:11:31.278268Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] 2025-10-01T14:11:31.278319Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.282870Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/recent" => "<html>\n  <head><title>tag2upload recent and queued jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <b>recent</b> | <a href=/all-jobs><b>all jobs</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload recent and queued jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last_update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td colspan=\"10\">\n\t  No jobs.\n\t</td>\n      </tr>\n    \n    </table>\n\n\n          <p>\n      Recent means jobs touched after 2024-09-06T12:52:59Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] 2025-10-01T14:11:31.389148Z TRACE comprehensive: tag2upload_service_manager::webhook: webhook client=Some(127.0.0.1) err=page not found at this URL: wrong server name (vhost) requested: "Host" was "127.0.0.1", expected webhook.tag2upload.debian.org
[INFO] [stdout] 2025-10-01T14:11:31.389222Z DEBUG comprehensive: tag2upload_service_manager::webhook: rejected early: 404 Not Found, page not found at this URL: wrong server name (vhost) requested: "Host" was "127.0.0.1", expected webhook.tag2upload.debian.org
[INFO] [stdout] 2025-10-01T14:11:31.389807Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: (expected wrong vhost) status=404 Not Found "error: page not found at this URL: wrong server name (vhost) requested: \"Host\" was \"127.0.0.1\", expected webhook.tag2upload.debian.org" what="webhook"
[INFO] [stdout] 2025-10-01T14:11:31.477037Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:112:17
[INFO] [stdout] 2025-10-01T14:11:31.477100Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:11:31.477114Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN ( ?,?,? )
[INFO] [stdout]                        AND last_update <  ? 
[INFO] [stdout]             
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] 2025-10-01T14:11:31.477229Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:121:17
[INFO] [stdout] 2025-10-01T14:11:31.477252Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:35:31
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >=  ? 
[INFO] [stdout]             
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] 2025-10-01T14:11:31.477280Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:409:33
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.477339Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:11:31.477357Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:144:17
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.477457Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:11:31.477482Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:151:17
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.477549Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/expire.rs:210:37
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] 2025-10-01T14:11:31.477619Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] 2025-10-01T14:11:31.477660Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.478335Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: (expected wrong vhost) status=404 Not Found "error: page not found at this URL: wrong server name (vhost) requested: \"Host\" was \"127.0.0.1\", expected tag2upload.debian.org" what="toiplevel"
[INFO] [stdout] 2025-10-01T14:11:31.561945Z TRACE comprehensive: tag2upload_service_manager::webhook: webhook client=ActualClient { addr: 127.0.0.1, names: OnceLock(<uninit>) } raw=Object {"after": String("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "before": String("0000000000000000000000000000000000000000"), "checkout_sha": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "commits": Array [Object {"added": Array [], "author": Object {"email": String("[REDACTED]"), "name": String("Ian Jackson")}, "id": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "message": String("Finalise 1.40\n\nSigned-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>\n"), "modified": Array [String("debian/changelog")], "removed": Array [], "timestamp": String("2024-09-07T12:36:43+01:00"), "title": String("Finalise 1.40"), "url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy/-/commit/b8e6d37e61b2eebc030752f0f4962960d87c1af4")}], "event_name": String("tag_push"), "message": String("dgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----"), "object_kind": String("tag_push"), "project": Object {"avatar_url": Null, "ci_config_path": Null, "default_branch": String("master"), "description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "id": Number(36575), "name": String("dgit-test-dummy"), "namespace": String("dgit"), "path_with_namespace": String("dgit-team/dgit-test-dummy"), "ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20), "web_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy")}, "project_id": Number(36575), "push_options": Object {}, "ref": String("refs/tags/debian/1.40"), "ref_protected": Bool(false), "repository": Object {"description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "name": String("dgit-test-dummy"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20)}, "total_commits_count": Number(1), "user_avatar": String("https://salsa.debian.org/uploads/-/system/user/avatar/193/avatar.png"), "user_email": String("[REDACTED]"), "user_id": Number(193), "user_name": String("Ian Jackson"), "user_username": String("iwj")}
[INFO] [stdout] 2025-10-01T14:11:31.562190Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.562226Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:428:37
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]             WHERE throttle > 0 
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.562392Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout] 2025-10-01T14:11:31.562469Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.562721Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.562749Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:428:37
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]             WHERE throttle > 0 
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.562861Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/webhook.rs:275:39
[INFO] [stdout] bsql text: INSERT INTO jobs (repo_git_url,tag_objectid,tag_name,forge_host,forge_namever,forge_data,source,version,received,last_update,tag_data,status,processing,info,duplicate_of) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"))))
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("debian/1.40"))))
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Owned(Text("gitlab-1")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("36575"))))
[INFO] [stdout]     Ok(Owned(Text("dgit-test-dummy")))
[INFO] [stdout]     Ok(Owned(Text("1.40")))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("job received, tag not yet fetched"))))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     bsql_insert rowid 1
[INFO] [stdout] 2025-10-01T14:11:31.563243Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:296:61
[INFO] [stdout] 2025-10-01T14:11:31.563271Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:290:22
[INFO] [stdout] bsql text: 
[INFO] [stdout]                  SELECT jid, status
[INFO] [stdout]                    FROM jobs
[INFO] [stdout]                   WHERE 
[INFO] [stdout]                 tag_objectid =  ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid =  ?  )
[INFO] [stdout]         
[INFO] [stdout]                     AND status IN ( ?,? )
[INFO] [stdout]                ORDER BY jid ASC
[INFO] [stdout]                   LIMIT 1
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Null))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] 2025-10-01T14:11:31.563441Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "job received, tag not yet fetched",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.563561Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.566124Z  INFO comprehensive: tag2upload_service_manager::webhook: [salsa.debian.org] received jid=1 now=Noticed info="job received, tag not yet fetched"
[INFO] [stdout] 2025-10-01T14:11:31.566161Z DEBUG comprehensive: tag2upload_service_manager::webhook: [salsa.debian.org] received jid=1 now=Noticed info="job received, tag not yet fetched" raw=Object {"after": String("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12"), "before": String("0000000000000000000000000000000000000000"), "checkout_sha": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "commits": Array [Object {"added": Array [], "author": Object {"email": String("[REDACTED]"), "name": String("Ian Jackson")}, "id": String("b8e6d37e61b2eebc030752f0f4962960d87c1af4"), "message": String("Finalise 1.40\n\nSigned-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>\n"), "modified": Array [String("debian/changelog")], "removed": Array [], "timestamp": String("2024-09-07T12:36:43+01:00"), "title": String("Finalise 1.40"), "url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy/-/commit/b8e6d37e61b2eebc030752f0f4962960d87c1af4")}], "event_name": String("tag_push"), "message": String("dgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----"), "object_kind": String("tag_push"), "project": Object {"avatar_url": Null, "ci_config_path": Null, "default_branch": String("master"), "description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "id": Number(36575), "name": String("dgit-test-dummy"), "namespace": String("dgit"), "path_with_namespace": String("dgit-team/dgit-test-dummy"), "ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20), "web_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy")}, "project_id": Number(36575), "push_options": Object {}, "ref": String("refs/tags/debian/1.40"), "ref_protected": Bool(false), "repository": Object {"description": String("Test package for archive infrastructure."), "git_http_url": String("https://salsa.debian.org/dgit-team/dgit-test-dummy.git"), "git_ssh_url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "homepage": String("https://salsa.debian.org/dgit-team/dgit-test-dummy"), "name": String("dgit-test-dummy"), "url": String("git@salsa.debian.org:dgit-team/dgit-test-dummy.git"), "visibility_level": Number(20)}, "total_commits_count": Number(1), "user_avatar": String("https://salsa.debian.org/uploads/-/system/user/avatar/193/avatar.png"), "user_email": String("[REDACTED]"), "user_id": Number(193), "user_name": String("Ian Jackson"), "user_username": String("iwj")}
[INFO] [stdout] 2025-10-01T14:11:31.568249Z TRACE comprehensive: tag2upload_service_manager::test::t_comprehensive: resp="job received, jid=1"
[INFO] [stdout] 2025-10-01T14:11:31.571781Z TRACE comprehensive: tag2upload_service_manager::test::t_comprehensive: jid=JobId(1)
[INFO] [stdout] 2025-10-01T14:11:31.571851Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test/t_utils.rs:18:53
[INFO] [stdout] bsql text: SELECT * FROM jobs WHERE jid= ? 
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     bsql_query_01 row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "job received, tag not yet fetched",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.572085Z TRACE comprehensive: tag2upload_service_manager::test::t_utils: job=Some(JobRow { jid: JobId(1), data: JobData { repo_git_url: "https://salsa.debian.org/dgit-team/dgit-test-dummy.git", tag_objectid: "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12", tag_name: "debian/1.40", forge_host: "salsa.debian.org", forge_namever: "gitlab-1", forge_data: "36575", tag_meta: Parsed { source: "dgit-test-dummy", version: "1.40" } }, received: TimeT(1725713579 2024-09-07T12:52:59Z), last_update: TimeT(1725713579 2024-09-07T12:52:59Z), tag_data: NoneIsEmpty(None), status: Noticed, processing: NoneIsEmpty(None), info: "job received, tag not yet fetched", duplicate_of: None })
[INFO] [stdout] 2025-10-01T14:11:31.572166Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "job received, tag not yet fetched",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.572263Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.572515Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "job received, tag not yet fetched",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.572638Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.572909Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:11:31.572982Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.573012Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:427:24
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.573063Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:11:31.573080Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:11:31.573090Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:163:38
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host =  ? 
[INFO] [stdout]                AND forge_namever =  ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN ( ?,?,? )
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("gitlab-1"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_query_01 row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "job received, tag not yet fetched",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.573362Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:242:34
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET last_update = ?, status = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid =  ? 
[INFO] [stdout]                    AND status =  ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("fetching tag from forge"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.573777Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetch",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetching tag from forge",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.573895Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.578073Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] found (fetch) jid=1 now=Noticed info="fetching tag from forge"
[INFO] [stdout] 2025-10-01T14:11:31.578123Z TRACE comprehensive: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=1
[INFO] [stdout] 2025-10-01T14:11:31.578226Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag info jid=1 url=https://salsa.debian.org/api/v4/projects/36575/repository/tags/debian%2F1.40
[INFO] [stdout] 2025-10-01T14:11:31.578726Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:11:31.578812Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.578836Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:427:24
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.578895Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:11:31.578910Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:11:31.578920Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:163:38
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host =  ? 
[INFO] [stdout]                AND forge_namever =  ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN ( ?,?,? )
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("gitlab-1"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] 2025-10-01T14:11:31.579102Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetch",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetching tag from forge",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.579229Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.579320Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:11:31.579357Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:11:31.579418Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.579437Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:427:24
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.579479Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:11:31.579494Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:11:31.579504Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:163:38
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host =  ? 
[INFO] [stdout]                AND forge_namever =  ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN ( ?,?,? )
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("gitlab-1"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] 2025-10-01T14:11:31.579713Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetch",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetching tag from forge",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.579833Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.579915Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:11:31.579955Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:11:31.580007Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.580024Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:427:24
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.580065Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:11:31.580080Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:11:31.580089Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:163:38
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host =  ? 
[INFO] [stdout]                AND forge_namever =  ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN ( ?,?,? )
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("gitlab-1"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] 2025-10-01T14:11:31.580224Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetch",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetching tag from forge",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.580331Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.580497Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:11:31.580538Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:11:31.580583Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.580601Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:427:24
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.580643Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:11:31.580662Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:11:31.580673Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:163:38
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host =  ? 
[INFO] [stdout]                AND forge_namever =  ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN ( ?,?,? )
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("gitlab-1"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] 2025-10-01T14:11:31.580808Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetch",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetching tag from forge",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.580962Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.581060Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:11:31.581969Z  INFO comprehensive: tag2upload_service_manager::test::t_data: mocking 36575 "debian/1.40"
[INFO] [stdout] 2025-10-01T14:11:31.582681Z TRACE comprehensive: tag2upload_service_manager::gitlab: gitab tag date jid=1 created_at=SystemTime { tv_sec: 1725709192, tv_nsec: 0 }
[INFO] [stdout] 2025-10-01T14:11:31.582808Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["init", "--bare"]
[INFO] [stdout] 2025-10-01T14:11:31.605930Z TRACE comprehensive: tag2upload_service_manager::gitclone: git succeeded jid=1 args=["init", "--bare"] stdout="Initialized empty Git repository in /tmp/.tmpjtHnUg/scratch/fetch,gitlab-1,salsa.debian.org,0/package.git/\n"
[INFO] [stdout] 2025-10-01T14:11:31.606047Z DEBUG comprehensive: tag2upload_service_manager::gitclone: git fetch... jid=1 url="file:///tmp/.tmpjtHnUg/dgit-test-dummy.git"
[INFO] [stdout] 2025-10-01T14:11:31.606077Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpjtHnUg/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:11:31.665062Z TRACE comprehensive: tag2upload_service_manager::gitclone: git succeeded jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpjtHnUg/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"] stdout=""
[INFO] [stdout] 2025-10-01T14:11:31.665160Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["rev-parse", "refs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:11:31.668263Z TRACE comprehensive: tag2upload_service_manager::gitclone: git succeeded jid=1 args=["rev-parse", "refs/tags/debian/1.40"] stdout="7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12\n"
[INFO] [stdout] 2025-10-01T14:11:31.668508Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "-t", "refs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:11:31.671709Z TRACE comprehensive: tag2upload_service_manager::gitclone: git succeeded jid=1 args=["cat-file", "-t", "refs/tags/debian/1.40"] stdout="tag\n"
[INFO] [stdout] 2025-10-01T14:11:31.671757Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "tag", "refs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:11:31.674090Z TRACE comprehensive: tag2upload_service_manager::gitclone: git succeeded jid=1 args=["cat-file", "tag", "refs/tags/debian/1.40"] stdout="object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n"
[INFO] [stdout] 2025-10-01T14:11:31.674162Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["for-each-ref", "--format=%(taggerdate:raw)", "[r]efs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:11:31.677341Z TRACE comprehensive: tag2upload_service_manager::gitclone: git succeeded jid=1 args=["for-each-ref", "--format=%(taggerdate:raw)", "[r]efs/tags/debian/1.40"] stdout="1725709192 +0100\n"
[INFO] [stdout] 2025-10-01T14:11:31.677465Z DEBUG comprehensive: tag2upload_service_manager::fetcher: fetched tag OK host=salsa.debian.org jid=1
[INFO] [stdout] 2025-10-01T14:11:31.677638Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:242:34
[INFO] [stdout] bsql text: 
[INFO] [stdout]                 UPDATE jobs
[INFO] [stdout]                    SET last_update = ?, tag_data = ?, status = ?, processing = ?, info = ?
[INFO] [stdout]                  WHERE jid =  ? 
[INFO] [stdout]                    AND status =  ? 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Owned(Integer(1725713579)))
[INFO] [stdout]     Ok(Owned(Text("object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("tag fetched, ready to process"))))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.678105Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "fetch",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.678291Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.683274Z  INFO comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] updated (fetch) jid=1 now=Queued info="tag fetched, ready to process"
[INFO] [stdout] 2025-10-01T14:11:31.683335Z TRACE comprehensive: tag2upload_service_manager::fetcher: tag fetch work complete host=salsa.debian.org jid=1
[INFO] [stdout] 2025-10-01T14:11:31.683477Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:505:43
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         UPDATE jobs
[INFO] [stdout]                            SET processing = ?
[INFO] [stdout]                          WHERE jid =  ? 
[INFO] [stdout]                            AND processing =  ? 
[INFO] [stdout]     Ok(Owned(Text("")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Owned(Text("fetch")))
[INFO] [stdout]     bsql_exec returned 1
[INFO] [stdout] 2025-10-01T14:11:31.684163Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:296:61
[INFO] [stdout] 2025-10-01T14:11:31.684194Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:290:22
[INFO] [stdout] bsql text: 
[INFO] [stdout]                  SELECT jid, status
[INFO] [stdout]                    FROM jobs
[INFO] [stdout]                   WHERE 
[INFO] [stdout]                 tag_objectid =  ? 
[INFO] [stdout]             AND ( processing = ''
[INFO] [stdout]              OR   jid =  ?  )
[INFO] [stdout]         
[INFO] [stdout]                     AND status IN ( ?,? )
[INFO] [stdout]                ORDER BY jid ASC
[INFO] [stdout]                   LIMIT 1
[INFO] [stdout]            
[INFO] [stdout]     Ok(Owned(Text("7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12")))
[INFO] [stdout]     Ok(Owned(Integer(1)))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Uploaded"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Irrecoverable"))))
[INFO] [stdout] 2025-10-01T14:11:31.684391Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.684580Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.691220Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:11:31.691345Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.691375Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:427:24
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.692476Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:11:31.692505Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:11:31.692517Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:163:38
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host =  ? 
[INFO] [stdout]                AND forge_namever =  ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN ( ?,?,? )
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("gitlab-1"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] 2025-10-01T14:11:31.692709Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.692895Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.693004Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:11:31.693245Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.693418Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.800202Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:11:31.800353Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.800389Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:427:24
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.801731Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:11:31.801766Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:11:31.801777Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:163:38
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host =  ? 
[INFO] [stdout]                AND forge_namever =  ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN ( ?,?,? )
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("gitlab-1"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] 2025-10-01T14:11:31.801955Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.802117Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.802295Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:11:31.802348Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:11:31.802393Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:11:31.802433Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:427:24
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.802473Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:11:31.802487Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:11:31.802497Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:163:38
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE     forge_host =  ? 
[INFO] [stdout]                AND forge_namever =  ? 
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.tag_objectid = jobs.tag_objectid
[INFO] [stdout]                             AND   j2.jid != jobs.jid
[INFO] [stdout]                             AND   j2.status IN ( ?,?,? )
[INFO] [stdout]                             AND   j2.tag_data != ''
[INFO] [stdout]                           ) )
[INFO] [stdout]             
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                            AND processing = ''
[INFO] [stdout]                            AND (TRUE)
[INFO] [stdout]            AND NOT EXISTS ( SELECT 1 FROM jobs j2 WHERE (
[INFO] [stdout]                                   j2.processing != '' 
[INFO] [stdout]                             AND (
[INFO] [stdout]                                     jobs.repo_git_url == j2.repo_git_url 
[INFO] [stdout]                              OR     jobs.tag_objectid == j2.tag_objectid
[INFO] [stdout]                                 )
[INFO] [stdout]                           ) )
[INFO] [stdout]                       ORDER BY jid
[INFO] [stdout]                          LIMIT 1
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Owned(Text("salsa.debian.org")))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("gitlab-1"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout] 2025-10-01T14:11:31.802623Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.802760Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.802843Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:11:31.803711Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:112:17
[INFO] [stdout] 2025-10-01T14:11:31.803748Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:11:31.803768Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN ( ?,?,? )
[INFO] [stdout]                        AND last_update <  ? 
[INFO] [stdout]             
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout] 2025-10-01T14:11:31.803870Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:121:17
[INFO] [stdout] 2025-10-01T14:11:31.803896Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:35:31
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >=  ? 
[INFO] [stdout]             
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627179)))
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "count": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.803937Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:409:33
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:31.804000Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:11:31.804019Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:144:17
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.804089Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:11:31.804105Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:151:17
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.804163Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/expire.rs:210:37
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] 2025-10-01T14:11:31.804220Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.804359Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.806871Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>(re)starting<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:52:59Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td colspan=\"9\">\n\t    No workers connected.\n\t  </td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] 2025-10-01T14:11:31.933165Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:483:9
[INFO] [stdout] 2025-10-01T14:11:31.933220Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] 2025-10-01T14:11:31.933235Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:268:9
[INFO] [stdout] bsql text: 
[INFO] [stdout]             SELECT * FROM jobs
[INFO] [stdout]              WHERE     status IN ( ?,?,? )
[INFO] [stdout]           ORDER BY  jid ASC 
[INFO] [stdout]         
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.933509Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.933668Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:31.937970Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/queue" => "<html>\n  <head><title>tag2upload build queue</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <b>queue</b> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload build queue</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last_update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td>1</td>\n\t<td>2024-09-07T12:52:59Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:52:59Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] 2025-10-01T14:11:32.232720Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:289:13
[INFO] [stdout] 2025-10-01T14:11:32.232801Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:11:32.232814Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] 2025-10-01T14:11:32.232824Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:35:31
[INFO] [stdout] bsql text: 
[INFO] [stdout]                           SELECT *
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN ( ?,?,? )
[INFO] [stdout]                        AND last_update <  ? 
[INFO] [stdout]             
[INFO] [stdout]                           UNION
[INFO] [stdout]                           SELECT *
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >=  ? 
[INFO] [stdout]             
[INFO] [stdout]                         ORDER BY last_update DESC
[INFO] [stdout]             
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627180)))
[INFO] [stdout]     Ok(Owned(Integer(1725627180)))
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.233062Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/expire.rs:210:37
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] 2025-10-01T14:11:32.233154Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.233296Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.246373Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/recent" => "<html>\n  <head><title>tag2upload recent and queued jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <b>recent</b> | <a href=/all-jobs><b>all jobs</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload recent and queued jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last_update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td>1</td>\n\t<td>2024-09-07T12:52:59Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:52:59Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n          <p>\n      Recent means jobs touched after 2024-09-06T12:53:00Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] 2025-10-01T14:11:32.473970Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:483:9
[INFO] [stdout] 2025-10-01T14:11:32.474042Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:326:9
[INFO] [stdout] 2025-10-01T14:11:32.474054Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:327:9
[INFO] [stdout] bsql text: 
[INFO] [stdout]             SELECT * FROM jobs
[INFO] [stdout]              WHERE  TRUE 
[INFO] [stdout]           ORDER BY  last_update DESC 
[INFO] [stdout]         
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.474243Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/expire.rs:210:37
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] 2025-10-01T14:11:32.474338Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.474494Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.478986Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/all-jobs" => "<html>\n  <head><title>tag2upload all jobs</title></head>\n  <body>\n    <a href=/><b>service</b></a> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <b>all jobs</b> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload all jobs</h1>\n        <table rules=\"all\">\n      <tr>\n\t<th>job</th>\n\t<th>received</th>\n\t<th>source</th>\n\t<th>version</th>\n\t<th>url</th>\n\t<th>last_update</th>\n\t<th>status</th>\n\t<th>info</th>\n\t<th>processing</th>\n\t<th>dupe of</th>\n      </tr>\n    \n      <tr>\n\t<td>1</td>\n\t<td>2024-09-07T12:52:59Z</td>\n\t<td>dgit-test-dummy</td>\n\t<td>1.40</td>\n\t<td>https:&#x2F;&#x2F;salsa.debian.org&#x2F;dgit-team&#x2F;dgit-test-dummy.git</td>\n\t<td>2024-09-07T12:52:59Z</td>\n\t<td>Queued</td>\n\t<td>tag fetched, ready to process</td>\n\t<td></td>\n\t<td></td>\n      </tr>\n    \n    </table>\n\n\n    <p>\n    Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] 2025-10-01T14:11:32.484609Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: accepted conn=#1
[INFO] [stdout] 2025-10-01T14:11:32.484645Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 > t2u-manager-ready
[INFO] [stdout] 2025-10-01T14:11:32.634332Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:112:17
[INFO] [stdout] 2025-10-01T14:11:32.634428Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:11:32.634451Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, count(1) AS count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE     status IN ( ?,?,? )
[INFO] [stdout]                        AND last_update <  ? 
[INFO] [stdout]             
[INFO] [stdout]                   GROUP BY status, duplicate_of
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Noticed"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Queued"))))
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout]     Ok(Owned(Integer(1725627180)))
[INFO] [stdout] 2025-10-01T14:11:32.634597Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:121:17
[INFO] [stdout] 2025-10-01T14:11:32.634625Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:35:31
[INFO] [stdout] bsql text: 
[INFO] [stdout]                     SELECT status, duplicate_of, 1 as count
[INFO] [stdout]                          
[INFO] [stdout]                       FROM jobs
[INFO] [stdout]                      WHERE last_update >=  ? 
[INFO] [stdout]             
[INFO] [stdout]                 
[INFO] [stdout]     Ok(Owned(Integer(1725627180)))
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "count": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.634684Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:409:33
[INFO] [stdout] bsql text: 
[INFO] [stdout]         SELECT * FROM pause_insns
[INFO] [stdout]            ORDER BY throttle DESC
[INFO] [stdout]            LIMIT 1
[INFO] [stdout]     
[INFO] [stdout] 2025-10-01T14:11:32.634769Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:11:32.634795Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:144:17
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.634880Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:11:32.634904Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:151:17
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status_expired
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.634998Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/expire.rs:210:37
[INFO] [stdout] bsql text: SELECT * FROM last_expiry
[INFO] [stdout] 2025-10-01T14:11:32.635088Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.635258Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Irrecoverable",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Uploaded",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Duplicate",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.638276Z DEBUG comprehensive: tag2upload_service_manager::test::t_tera: "/" => "<html>\n  <head><title>tag2upload service</title></head>\n  <body>\n    <b>service</b> | <a href=/queue><b>queue</b></a> | <a href=/recent><b>recent</b></a> | <a href=/all-jobs><b>all jobs</b></a> | <a href=\"https://wiki.debian.org/tag2upload\">wiki</a>\n\n\n    <h1>tag2upload service</h1>\n\n    <h2>Service status</h2>\n\n\t<dl>\n\t  <dt>Overall</dt>\n          <dd>(re)starting<dd>\n\t  <dt>Manager</dt>\n\t  <dd>running\n          </dd>\n\t  <dt>Workers</dt>\n\t  <dd>\n\t    0 busy /\n\t    0 up\n\t  </dd>\n\t</dl>\n\n    <h2>Statistics</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th rowspan=\"2\">status</th>\n\t  <th colspan=\"3\">job count</th>\n\t</tr>\n\t<tr>\n\t  <th>recent</th>\n\t  <th>unarchived</th>\n\t  <th>total</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>Noticed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Queued</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t  <td align=\"right\">1</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Building</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>NotForUs</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Failed</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Irrecoverable</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Duplicate</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n\t<tr>\n\t  <td>Uploaded</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t  <td align=\"right\">0</td>\n\t</tr>\n      \n      </table>\n\n            <p>\n      Recent means jobs touched after 2024-09-06T12:53:00Z.\n      Jobs last touched before 1970-01-01T00:00:00Z\nhave been archived.\n\n      Last archival run was 1970-01-01T00:00:00Z.\n\n    <h2>Workers</h2>\n\n      <table rules=\"all\">\n\t<tr>\n\t  <th colspan=\"5\">worker</th>\n\t  <th colspan=\"4\">current/last job</th>\n\t</tr>\n\t<tr>\n\t  <th>ident</th>\n\t  <th>protocol</th>\n\t  <th>fidelity</th>\n\t  <th>last interaction</th>\n\t  <th>phase</th>\n\t  <th>source</th>\n\t  <th>version</th>\n\t  <th>status</th>\n\t  <th>info</th>\n\t</tr>\n      \n\t<tr>\n\t  <td>1</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td>2024-09-07T12:53:00Z</td>\n\t  <td>Init</td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t  <td></td>\n\t</tr>\n      \n      </table>\n\n    <hr>\n<address>\n  tag2upload Service Manager.\n\n  Part of the Debian\n  <a href=\"https://wiki.debian.org/tag2upload\">tag2upload service</a>,\n  designed by Ian Jackson and Sean Whitton.\n\n  <a href=\"https://salsa.debian.org/dgit-team/tag2upload-service-manager\">Manager\n    source code</a>\n  includes templates for these web pages.\n\n  Manager version: debug build.\n\n  Oracle, Builder, and tag utility source code is in the\n  <a href=\"https://salsa.debian.org/dgit-team/dgit\">dgit repository</a>.\n</address>\n\n  </body>\n</html>\n"
[INFO] [stdout] 2025-10-01T14:11:32.638556Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/global.rs:374:27
[INFO] [stdout] bsql text: 
[INFO] [stdout]                         SELECT * FROM jobs
[INFO] [stdout]                          WHERE processing != ''
[INFO] [stdout]                            AND status =  ? 
[INFO] [stdout]                       ORDER BY last_update ASC
[INFO] [stdout]                     
[INFO] [stdout]     Ok(Borrowed(Text~(Ok("Building"))))
[INFO] [stdout] 2025-10-01T14:11:32.638732Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:117:9
[INFO] [stdout] bsql text: SELECT * FROM jobs 
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "jid": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout]     "repo_git_url": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "https://salsa.debian.org/dgit-team/dgit-test-dummy.git",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_name": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "debian/1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_objectid": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "7f7f6fec9edb867d7d73ec4b9c2cf9923dc07e12",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_host": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "salsa.debian.org",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_namever": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "gitlab-1",
[INFO] [stdout]     ),
[INFO] [stdout]     "forge_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "36575",
[INFO] [stdout]     ),
[INFO] [stdout]     "source": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "dgit-test-dummy",
[INFO] [stdout]     ),
[INFO] [stdout]     "version": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "1.40",
[INFO] [stdout]     ),
[INFO] [stdout]     "received": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713579,
[INFO] [stdout]     ),
[INFO] [stdout]     "tag_data": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "object b8e6d37e61b2eebc030752f0f4962960d87c1af4\ntype commit\ntag debian/1.40\ntagger Ian Jackson <ijackson@chiark.greenend.org.uk> 1725709192 +0100\n\ndgit-test-dummy release 1.40 for experimental\n\n[dgit distro=debian split]\n[dgit please-upload source=dgit-test-dummy version=1.40]\n-----BEGIN PGP SIGNATURE-----\n\niQFUBAABCAA+FiEEVZrkbC1rbTJl58uh4+M5I0i1DTkFAmbcO4ggHGlqYWNrc29u\nQGNoaWFyay5ncmVlbmVuZC5vcmcudWsACgkQ4+M5I0i1DTmD4gf/Q8xD7Eic90CV\nA8WQV9boU0j0oUEPioIiMqsKO3fHf66xPMukEFtpYcX5KOvPrpRGDYseP1JiPUNM\n/mYWfwLXECSkypjidFRvKEMFivvvDFZfJnyqQ6MTIvTsIPYAy/sZnUd/1+v5wcMb\n4kGYMBXJJZ749N5voi+wHfZfEHgOmvfOnO7pwk60xgm07lUGHdQCxN7ndIqOHmxg\nFJZHJu0ajp4qfx7kqIdwPWxW2gmN4iqzLsTNcOuQAiIKBn2LtetMRfxBHHjoYv2j\n1OzZ0OcDXAp/2OkxT3iYmFjTrobOJTlmg3WRGCwqzA/aYz8T8kelqgVXS8uR4tcF\nnmuEyTw7YA==\n=rZZP\n-----END PGP SIGNATURE-----\n",
[INFO] [stdout]     ),
[INFO] [stdout]     "status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "duplicate_of": (
[INFO] [stdout]         Null,
[INFO] [stdout]         (),
[INFO] [stdout]     ),
[INFO] [stdout]     "processing": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "",
[INFO] [stdout]     ),
[INFO] [stdout]     "info": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "tag fetched, ready to process",
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout] 2025-10-01T14:11:32.638907Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/test.rs:126:9
[INFO] [stdout] bsql text: SELECT * FROM stats_by_shown_status
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Noticed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Queued",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Building",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "NotForUs",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         0,
[INFO] [stdout]     ),
[INFO] [stdout] }
[INFO] [stdout]     bsql_qeury_n_call row {
[INFO] [stdout]     "shown_status": (
[INFO] [stdout]         Text,
[INFO] [stdout]         "Failed",
[INFO] [stdout]     ),
[INFO] [stdout]     "n_jobs": (
[INFO] [stdout]         Integer,
[WARN] too many lines in the log, truncating it
