[INFO] fetching crate tag2upload-service-manager 0.1.3...
[INFO] testing tag2upload-service-manager-0.1.3 against 1.90.0 for beta-1.91-3
[INFO] extracting crate tag2upload-service-manager 0.1.3 into /workspace/builds/worker-5-tc1/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-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tag2upload-service-manager 0.1.3 on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-test-macro v0.2.5
[INFO] [stderr]   Downloaded devise_codegen v0.4.2
[INFO] [stderr]   Downloaded thiserror-impl v2.0.14
[INFO] [stderr]   Downloaded tracing-logrotate v0.1.0
[INFO] [stderr]   Downloaded tracing-test v0.2.5
[INFO] [stderr]   Downloaded devise v0.4.2
[INFO] [stderr]   Downloaded cvt v0.1.2
[INFO] [stderr]   Downloaded atomic v0.5.3
[INFO] [stderr]   Downloaded convert_case v0.7.1
[INFO] [stderr]   Downloaded chrono-tz-build v0.3.0
[INFO] [stderr]   Downloaded as-slice v0.2.1
[INFO] [stderr]   Downloaded test-temp-dir v0.3.5
[INFO] [stderr]   Downloaded resolv-conf v0.7.4
[INFO] [stderr]   Downloaded sd-notify v0.4.5
[INFO] [stderr]   Downloaded testresult v0.4.1
[INFO] [stderr]   Downloaded aligned v0.4.2
[INFO] [stderr]   Downloaded generator v0.8.5
[INFO] [stderr]   Downloaded ubyte v0.10.4
[INFO] [stderr]   Downloaded devise_core v0.4.2
[INFO] [stderr]   Downloaded thiserror v2.0.14
[INFO] [stderr]   Downloaded remove_dir_all v1.0.0
[INFO] [stderr]   Downloaded generator v0.7.5
[INFO] [stderr]   Downloaded cc v1.2.32
[INFO] [stderr]   Downloaded state v0.6.0
[INFO] [stderr]   Downloaded mini-sqlite-dump v0.1.0
[INFO] [stderr]   Downloaded easy-ext v1.0.2
[INFO] [stderr]   Downloaded fs_at v0.2.1
[INFO] [stderr]   Downloaded loom v0.5.6
[INFO] [stderr]   Downloaded derive-deftly-macros v1.2.0
[INFO] [stderr]   Downloaded rocket_http v0.5.1
[INFO] [stderr]   Downloaded parse-zoneinfo v0.3.1
[INFO] [stderr]   Downloaded hickory-resolver v0.25.2
[INFO] [stderr]   Downloaded derive-deftly v1.2.0
[INFO] [stderr]   Downloaded rocket_codegen v0.5.1
[INFO] [stderr]   Downloaded rusqlite v0.37.0
[INFO] [stderr]   Downloaded syn v2.0.105
[INFO] [stderr]   Downloaded rocket v0.5.1
[INFO] [stderr]   Downloaded hickory-proto v0.25.2
[INFO] [stderr]   Downloaded chrono-tz v0.9.0
[INFO] [stderr]   Downloaded libsqlite3-sys v0.35.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] baedc80a326859d1ecc2c4db4af34460393da7b12c7f89c95366d21cc1e227bc
[INFO] running `Command { std: "docker" "start" "-a" "baedc80a326859d1ecc2c4db4af34460393da7b12c7f89c95366d21cc1e227bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "baedc80a326859d1ecc2c4db4af34460393da7b12c7f89c95366d21cc1e227bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "baedc80a326859d1ecc2c4db4af34460393da7b12c7f89c95366d21cc1e227bc", kill_on_drop: false }`
[INFO] [stdout] baedc80a326859d1ecc2c4db4af34460393da7b12c7f89c95366d21cc1e227bc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 75753058c33404c29a61b045b2cbcf5cc4f060c35205cd413537c236a2bb5a5d
[INFO] running `Command { std: "docker" "start" "-a" "75753058c33404c29a61b045b2cbcf5cc4f060c35205cd413537c236a2bb5a5d", 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 quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.105
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling once_cell v1.21.3
[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 signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling inlinable_string v0.1.15
[INFO] [stderr]    Compiling time-core v0.1.4
[INFO] [stderr]    Compiling deranged v0.4.0
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling time-macros v0.2.22
[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 crypto-common v0.1.6
[INFO] [stderr]    Compiling block-buffer v0.10.4
[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 toml_edit v0.22.27
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling proc-macro2-diagnostics v0.10.1
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling devise_core v0.4.2
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling chrono-tz-build v0.3.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling digest v0.10.7
[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 stable-pattern v0.1.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 thiserror-impl v2.0.14
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling pear_codegen v0.2.9
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling ref-cast-impl v1.0.24
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling unic-common v0.9.0
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling unic-char-range v0.9.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling keccak v0.1.5
[INFO] [stderr]    Compiling state v0.6.0
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling derive-deftly-macros v1.2.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling sha3 v0.10.8
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling unic-char-property v0.9.0
[INFO] [stderr]    Compiling unic-ucd-version v0.9.0
[INFO] [stderr]    Compiling globset v0.4.16
[INFO] [stderr]    Compiling pear v0.2.9
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling tokio-util v0.7.16
[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 hyper v0.14.32
[INFO] [stderr]    Compiling derive_more-impl v1.0.0
[INFO] [stderr]    Compiling devise_codegen v0.4.2
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling async-trait v0.1.89
[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 proc-macro-crate v3.3.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 multer v3.1.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling figment v0.10.19
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling moka v0.12.10
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]    Compiling rustix v1.0.8
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling derive_more v1.0.0
[INFO] [stderr]    Compiling rocket_http v0.5.1
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling hyper-util v0.1.16
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling ignore v0.4.23
[INFO] [stderr]    Compiling rand v0.8.5
[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 tagptr v0.2.0
[INFO] [stderr]    Compiling data-encoding v2.9.0
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling clap_builder v4.5.44
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling rusqlite v0.37.0
[INFO] [stderr]    Compiling tower-http v0.6.6
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling rocket_codegen v0.5.1
[INFO] [stderr]    Compiling hickory-proto v0.25.2
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling fs_at v0.2.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 clap_derive v4.5.45
[INFO] [stderr]    Compiling tracing-test-macro v0.2.5
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling easy-ext v1.0.2
[INFO] [stderr]    Compiling normpath v1.3.0
[INFO] [stderr]    Compiling atomic v0.5.3
[INFO] [stderr]    Compiling hex_fmt v0.3.0
[INFO] [stderr]    Compiling binascii v0.1.4
[INFO] [stderr]    Compiling resolv-conf v0.7.4
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling clap v4.5.45
[INFO] [stderr]    Compiling mini-sqlite-dump v0.1.0
[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 tracing-test v0.2.5
[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)]` 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)]` 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 30s
[INFO] running `Command { std: "docker" "inspect" "75753058c33404c29a61b045b2cbcf5cc4f060c35205cd413537c236a2bb5a5d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "75753058c33404c29a61b045b2cbcf5cc4f060c35205cd413537c236a2bb5a5d", kill_on_drop: false }`
[INFO] [stdout] 75753058c33404c29a61b045b2cbcf5cc4f060c35205cd413537c236a2bb5a5d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 67c2588326b9d09c35ff90255a50b6d288ce22219f16aef1fdb5c68c1f85e0b8
[INFO] running `Command { std: "docker" "start" "-a" "67c2588326b9d09c35ff90255a50b6d288ce22219f16aef1fdb5c68c1f85e0b8", 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 regex-automata v0.4.9
[INFO] [stderr]    Compiling num-bigint v0.4.6
[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 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 test-temp-dir v0.3.5
[INFO] [stderr]    Compiling chrono-tz v0.9.0
[INFO] [stderr]    Compiling lazy-regex v3.4.1
[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)]` 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)]` 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)]` 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)]` 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 38s
[INFO] running `Command { std: "docker" "inspect" "67c2588326b9d09c35ff90255a50b6d288ce22219f16aef1fdb5c68c1f85e0b8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67c2588326b9d09c35ff90255a50b6d288ce22219f16aef1fdb5c68c1f85e0b8", kill_on_drop: false }`
[INFO] [stdout] 67c2588326b9d09c35ff90255a50b6d288ce22219f16aef1fdb5c68c1f85e0b8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0af636bdf65ecda1b8823a9634ec6a611d0c72a1fe1559ed73e70a4abae755f4
[INFO] running `Command { std: "docker" "start" "-a" "0af636bdf65ecda1b8823a9634ec6a611d0c72a1fe1559ed73e70a4abae755f4", 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)]` 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)]` 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 3 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)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.64s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tag2upload_service_manager-de4304ec77307c34)
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test dns::chk_allowed_client ... ok
[INFO] [stdout] test config::timeouts_defaults ... ok
[INFO] [stdout] test fmt_cmp::test ... ok
[INFO] [stdout] test t2umeta_abstract::test::debug_tag_meta ... 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_not_for_us ... 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_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 utils::ht_time_t ... ok
[INFO] [stdout] test ui_render::check_embedded_tera_templates ... ok
[INFO] [stdout] test test::t_misc::pages_json ... ok
[INFO] [stdout] test test::t_misc::release_job_map ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_noticed ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_queued ... ok
[INFO] [stdout] test test::t_jcoalesce::pause_fetch_uploaded ... ok
[INFO] [stdout] test test::t_comprehensive::comprehensive ... FAILED
[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:05:21.022834Z 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/.tmpXlfZZE/t2usm.db", o2m_socket: "/tmp/.tmpXlfZZE/o2m", scratch_dir: Some("/tmp/.tmpXlfZZE/scratch"), archive_dir: "/tmp/.tmpXlfZZE/archive", template_dir: None, port_report_file: Some("/tmp/.tmpXlfZZE/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: -33613942, 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:05:21.625247Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="archived-note.part.html"
[INFO] [stdout] 2025-10-01T14:05:21.630921Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent-note.part.html"
[INFO] [stdout] 2025-10-01T14:05:21.631287Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="navbar.part.html"
[INFO] [stdout] 2025-10-01T14:05:21.642772Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="footer.part.html"
[INFO] [stdout] 2025-10-01T14:05:21.643646Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="jobtable.part.html"
[INFO] [stdout] 2025-10-01T14:05:21.657928Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="error.html"
[INFO] [stdout] 2025-10-01T14:05:21.658646Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="all-jobs.html"
[INFO] [stdout] 2025-10-01T14:05:21.659058Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="recent.html"
[INFO] [stdout] 2025-10-01T14:05:21.669692Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="queue.html"
[INFO] [stdout] 2025-10-01T14:05:21.670074Z TRACE comprehensive: tag2upload_service_manager::ui_render: loading builtin templat name="toplevel.html"
[INFO] [stdout] 2025-10-01T14:05:21.749723Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.749794Z 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:05:21.750073Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750104Z 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:05:21.750149Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750166Z 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:05:21.750201Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750217Z 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:05:21.750251Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750268Z 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:05:21.750303Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750320Z 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:05:21.750355Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750371Z 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:05:21.750439Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750458Z 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:05:21.750495Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750511Z 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:05:21.750577Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750607Z 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:05:21.750660Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750678Z 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:05:21.750711Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750727Z 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:05:21.750788Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750804Z 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:05:21.750836Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750855Z 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:05:21.750887Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750902Z 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:05:21.750934Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:347:46
[INFO] [stdout] 2025-10-01T14:05:21.750949Z 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:05:21.754077Z 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:05:21.754286Z 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:05:21.754544Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: listening path="/tmp/.tmpXlfZZE/o2m"
[INFO] [stdout] 2025-10-01T14:05:21.756513Z TRACE comprehensive: tag2upload_service_manager::global: writing port file="/tmp/.tmpXlfZZE/port"
[INFO] [stdout] 2025-10-01T14:05:21.756639Z  INFO comprehensive: tag2upload_service_manager::global: running running=Running { port: 45719 }
[INFO] [stdout] Rocket has launched from http://127.0.0.1:45719
[INFO] [stdout] 2025-10-01T14:05:21.757120Z TRACE comprehensive: tag2upload_service_manager::test: simulated time now=2024-09-07T12:52:59.757115326Z when=startup
[INFO] [stdout] 2025-10-01T14:05:21.845068Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:112:17
[INFO] [stdout] 2025-10-01T14:05:21.845135Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:05:21.845148Z 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:05:21.845336Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:121:17
[INFO] [stdout] 2025-10-01T14:05:21.845364Z 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:05:21.845391Z 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:05:21.845473Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:05:21.845494Z 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:05:21.845574Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:05:21.845592Z 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:05:21.845652Z 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:05:21.845726Z 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:05:21.845760Z 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:05:21.848507Z 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:05:21.922179Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:289:13
[INFO] [stdout] 2025-10-01T14:05:21.922251Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:05:21.922267Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] 2025-10-01T14:05:21.922277Z 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:05:21.922485Z 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:05:21.922584Z 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:05:21.922631Z 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:05:21.925070Z 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:05:22.038110Z 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:05:22.038186Z 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:05:22.041770Z 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:05:22.278797Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:112:17
[INFO] [stdout] 2025-10-01T14:05:22.278849Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:05:22.278860Z 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:05:22.280486Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:121:17
[INFO] [stdout] 2025-10-01T14:05:22.280518Z 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] 2025-10-01T14:05:22.280549Z 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:05:22.280610Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:05:22.280628Z 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:05:22.280700Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:05:22.280714Z 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:05:22.280769Z 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:05:22.280830Z 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:05:22.280867Z 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:05:22.285461Z 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:05:22.507375Z 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:05:22.507629Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.507666Z 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:05:22.511503Z 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:05:22.511605Z 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:05:22.514708Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.514746Z 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:05:22.514879Z 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(1725713580)))
[INFO] [stdout]     Ok(Owned(Integer(1725713580)))
[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:05:22.515242Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:296:61
[INFO] [stdout] 2025-10-01T14:05:22.515275Z 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:05:22.515523Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.515659Z 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:05:22.537204Z  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:05:22.537309Z 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:05:22.543621Z TRACE comprehensive: tag2upload_service_manager::test::t_comprehensive: resp="job received, jid=1"
[INFO] [stdout] 2025-10-01T14:05:22.571286Z TRACE comprehensive: tag2upload_service_manager::test::t_comprehensive: jid=JobId(1)
[INFO] [stdout] 2025-10-01T14:05:22.571396Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.571682Z 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(1725713580 2024-09-07T12:53:00Z), last_update: TimeT(1725713580 2024-09-07T12:53:00Z), tag_data: NoneIsEmpty(None), status: Noticed, processing: NoneIsEmpty(None), info: "job received, tag not yet fetched", duplicate_of: None })
[INFO] [stdout] 2025-10-01T14:05:22.571770Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.571888Z 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:05:22.572169Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.572291Z 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:05:22.590687Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:05:22.590878Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.590912Z 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:05:22.591002Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:05:22.591025Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:05:22.591036Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.591380Z 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(1725713580)))
[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:05:22.591793Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.591922Z 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:05:22.597535Z  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:05:22.597586Z TRACE comprehensive: tag2upload_service_manager::gitlab: fetching tag host=salsa.debian.org jid=1
[INFO] [stdout] 2025-10-01T14:05:22.597699Z 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:05:22.598257Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:05:22.598360Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.598393Z 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:05:22.598502Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:05:22.598526Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:05:22.598537Z 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:05:22.598743Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.598892Z 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:05:22.599002Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:05:22.599043Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:05:22.599090Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.599109Z 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:05:22.599153Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:05:22.599171Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:05:22.599182Z 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:05:22.599328Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.599469Z 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:05:22.599570Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:05:22.599627Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:05:22.599677Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.599695Z 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:05:22.599741Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:05:22.599768Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:05:22.599781Z 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:05:22.599923Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.600044Z 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:05:22.600138Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:05:22.600175Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:05:22.600223Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.600242Z 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:05:22.600286Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:05:22.600304Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:05:22.600315Z 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:05:22.600477Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.600591Z 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:05:22.600681Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:05:22.621676Z  INFO comprehensive: tag2upload_service_manager::test::t_data: mocking 36575 "debian/1.40"
[INFO] [stdout] 2025-10-01T14:05:22.622563Z 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:05:22.622699Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["init", "--bare"]
[INFO] [stdout] 2025-10-01T14:05:22.720060Z TRACE comprehensive: tag2upload_service_manager::gitclone: git succeeded jid=1 args=["init", "--bare"] stdout="Initialized empty Git repository in /tmp/.tmpXlfZZE/scratch/fetch,gitlab-1,salsa.debian.org,1/package.git/\n"
[INFO] [stdout] 2025-10-01T14:05:22.720174Z DEBUG comprehensive: tag2upload_service_manager::gitclone: git fetch... jid=1 url="file:///tmp/.tmpXlfZZE/dgit-test-dummy.git"
[INFO] [stdout] 2025-10-01T14:05:22.720199Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpXlfZZE/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:05:22.783037Z TRACE comprehensive: tag2upload_service_manager::gitclone: git succeeded jid=1 args=["fetch", "--no-tags", "--progress", "--depth", "1", "file:///tmp/.tmpXlfZZE/dgit-test-dummy.git", "+refs/tags/debian/1.40:refs/tags/debian/1.40"] stdout=""
[INFO] [stdout] 2025-10-01T14:05:22.783136Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["rev-parse", "refs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:05:22.786353Z 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:05:22.786426Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "-t", "refs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:05:22.791798Z 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:05:22.791875Z TRACE comprehensive: tag2upload_service_manager::gitclone: git ... jid=1 args=["cat-file", "tag", "refs/tags/debian/1.40"]
[INFO] [stdout] 2025-10-01T14:05:22.803540Z 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:05:22.803660Z 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:05:22.806727Z 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:05:22.806807Z DEBUG comprehensive: tag2upload_service_manager::fetcher: fetched tag OK host=salsa.debian.org jid=1
[INFO] [stdout] 2025-10-01T14:05:22.807006Z 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(1725713580)))
[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:05:22.807492Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.807674Z 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:05:22.813920Z  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:05:22.813987Z TRACE comprehensive: tag2upload_service_manager::fetcher: tag fetch work complete host=salsa.debian.org jid=1
[INFO] [stdout] 2025-10-01T14:05:22.814137Z 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:05:22.814424Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:296:61
[INFO] [stdout] 2025-10-01T14:05:22.814455Z 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:05:22.814687Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.814885Z 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:05:22.830502Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:05:22.830633Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.830662Z 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:05:22.830721Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:05:22.830761Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:05:22.830771Z 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:05:22.830951Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.831118Z 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:05:22.831210Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:05:22.831299Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:05:22.831351Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.831368Z 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:05:22.831472Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:05:22.831496Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:05:22.831505Z 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:05:22.831642Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.831783Z 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:05:22.831866Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:05:22.831914Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: looking for a job
[INFO] [stdout] 2025-10-01T14:05:22.831968Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:424:23
[INFO] [stdout] 2025-10-01T14:05:22.831988Z 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:05:22.832044Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:139:39
[INFO] [stdout] 2025-10-01T14:05:22.832066Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:37:13
[INFO] [stdout] 2025-10-01T14:05:22.832078Z 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:05:22.832363Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.832625Z 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:05:22.832724Z TRACE comprehensive: tag2upload_service_manager::db_workflow: [host=salsa.debian.org] fetch: waiting for a job
[INFO] [stdout] 2025-10-01T14:05:22.832967Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.833133Z 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:05:22.958501Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:112:17
[INFO] [stdout] 2025-10-01T14:05:22.958581Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:05:22.958597Z 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:05:22.958744Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:121:17
[INFO] [stdout] 2025-10-01T14:05:22.958775Z 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:05:22.958838Z 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:05:22.958923Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:05:22.958950Z 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:05:22.959057Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:05:22.959082Z 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:05:22.959151Z 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:05:22.959234Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:22.959433Z 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:05:22.964562Z 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 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:05:23.061966Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:483:9
[INFO] [stdout] 2025-10-01T14:05:23.062051Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] 2025-10-01T14:05:23.062070Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:23.062354Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:23.062538Z 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:05:23.065168Z 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:53:00Z</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:53:00Z</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:05:23.141534Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:289:13
[INFO] [stdout] 2025-10-01T14:05:23.141620Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:05:23.141636Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:6:5
[INFO] [stdout] 2025-10-01T14:05:23.141647Z 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(1725627181)))
[INFO] [stdout]     Ok(Owned(Integer(1725627181)))
[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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:23.141897Z 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:05:23.142011Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:23.142172Z 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:05:23.144895Z 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:53:00Z</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:53:00Z</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:01Z.\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:05:23.227789Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/db_workflow.rs:483:9
[INFO] [stdout] 2025-10-01T14:05:23.227867Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:326:9
[INFO] [stdout] 2025-10-01T14:05:23.227883Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:23.228098Z 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:05:23.228195Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:23.228350Z 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:05:23.231197Z 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:53:00Z</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:53:00Z</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:05:23.231793Z DEBUG comprehensive: tag2upload_service_manager::o2m_listener: accepted conn=#1
[INFO] [stdout] 2025-10-01T14:05:23.231829Z TRACE comprehensive: tag2upload_service_manager::o2m_support: #1 > t2u-manager-ready
[INFO] [stdout] 2025-10-01T14:05:23.310964Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:112:17
[INFO] [stdout] 2025-10-01T14:05:23.311048Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:30:30
[INFO] [stdout] 2025-10-01T14:05:23.311069Z 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(1725627181)))
[INFO] [stdout] 2025-10-01T14:05:23.311215Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:121:17
[INFO] [stdout] 2025-10-01T14:05:23.311245Z 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(1725627181)))
[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:05:23.311300Z 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:05:23.311374Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:05:23.311395Z 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:05:23.311488Z TRACE comprehensive: tag2upload_service_manager::test::t_bsql: bsql! executed loc=src/ui_routes.rs:132:21
[INFO] [stdout] 2025-10-01T14:05:23.311505Z 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:05:23.311572Z 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:05:23.311638Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:23.311791Z 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:05:23.314760Z 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:01Z.\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:01Z</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:05:23.315027Z 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:05:23.315182Z 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]         1725713580,
[INFO] [stdout]     ),
[INFO] [stdout]     "last_update": (
[INFO] [stdout]         Integer,
[INFO] [stdout]         1725713580,
[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:05:23.315334Z 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,
[WARN] too many lines in the log, truncating it
