[INFO] fetching crate diffly 0.2.0... [INFO] checking diffly-0.2.0 against try#38c2997544af84fe301d600d6896397738163002 for pr-154205-1 [INFO] extracting crate diffly 0.2.0 into /workspace/builds/worker-6-tc2/source [INFO] started tweaking crates.io crate diffly 0.2.0 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate diffly 0.2.0 [INFO] tweaked toml for crates.io crate diffly 0.2.0 written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate diffly 0.2.0 on toolchain 38c2997544af84fe301d600d6896397738163002 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+38c2997544af84fe301d600d6896397738163002" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate diffly 0.2.0 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" "+38c2997544af84fe301d600d6896397738163002" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+38c2997544af84fe301d600d6896397738163002" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] a67313582ac22c4b8067f6c266654937a0c7232ce184f7cbbf7ca7922bcc142a [INFO] running `Command { std: "docker" "start" "-a" "a67313582ac22c4b8067f6c266654937a0c7232ce184f7cbbf7ca7922bcc142a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a67313582ac22c4b8067f6c266654937a0c7232ce184f7cbbf7ca7922bcc142a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a67313582ac22c4b8067f6c266654937a0c7232ce184f7cbbf7ca7922bcc142a", kill_on_drop: false }` [INFO] [stdout] a67313582ac22c4b8067f6c266654937a0c7232ce184f7cbbf7ca7922bcc142a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+38c2997544af84fe301d600d6896397738163002" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c48f50d78d877c3c5938b7fd1760208d26663df0fa3e7a86181de5880003875c [INFO] running `Command { std: "docker" "start" "-a" "c48f50d78d877c3c5938b7fd1760208d26663df0fa3e7a86181de5880003875c", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling libc v0.2.181 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling zmij v1.0.20 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling sailfish-compiler v0.10.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Checking form_urlencoded v1.2.2 [INFO] [stderr] Checking futures-io v0.3.31 [INFO] [stderr] Compiling home v0.5.12 [INFO] [stderr] Checking parking v2.2.1 [INFO] [stderr] Checking futures-sink v0.3.31 [INFO] [stderr] Checking sha2 v0.10.9 [INFO] [stderr] Checking crc v3.4.0 [INFO] [stderr] Checking webpki-roots v0.26.11 [INFO] [stderr] Checking hashlink v0.10.0 [INFO] [stderr] Compiling sailfish v0.10.1 [INFO] [stderr] Checking futures-util v0.3.31 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Checking unicode-segmentation v1.12.0 [INFO] [stderr] Checking itoap v1.0.1 [INFO] [stderr] Checking ryu v1.0.23 [INFO] [stderr] Checking pathdiff v0.2.3 [INFO] [stderr] Checking concurrent-queue v2.5.0 [INFO] [stderr] Checking crossbeam-queue v0.3.12 [INFO] [stderr] Checking convert_case v0.6.0 [INFO] [stderr] Checking event-listener v5.4.1 [INFO] [stderr] Compiling quote v1.0.44 [INFO] [stderr] Compiling syn v2.0.114 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking socket2 v0.6.2 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Checking ring v0.17.14 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling filetime v0.2.27 [INFO] [stderr] Checking tempfile v3.25.0 [INFO] [stderr] Checking toml_parser v1.0.7+spec-1.1.0 [INFO] [stderr] Checking futures-intrusive v0.5.0 [INFO] [stderr] Checking toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Checking uuid v1.20.0 [INFO] [stderr] Checking serde_spanned v1.0.4 [INFO] [stderr] Checking toml v0.9.12+spec-1.1.0 [INFO] [stderr] Checking rustls-webpki v0.103.9 [INFO] [stderr] Checking config v0.15.19 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking zerofrom v0.1.6 [INFO] [stderr] Checking yoke v0.8.1 [INFO] [stderr] Checking zerotrie v0.2.3 [INFO] [stderr] Checking tokio v1.49.0 [INFO] [stderr] Checking zerovec v0.11.5 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking thiserror v2.0.18 [INFO] [stderr] Checking tinystr v0.8.2 [INFO] [stderr] Checking potential_utf v0.1.4 [INFO] [stderr] Checking icu_collections v2.1.1 [INFO] [stderr] Checking icu_locale_core v2.1.1 [INFO] [stderr] Checking icu_provider v2.1.1 [INFO] [stderr] Checking icu_properties v2.1.2 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking chrono v0.4.43 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking tokio-stream v0.1.18 [INFO] [stderr] Checking sqlx-core v0.8.6 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling sailfish-macros v0.10.1 [INFO] [stderr] Checking sqlx v0.8.6 [INFO] [stderr] Checking diffly v0.2.0 (/opt/rustwide/workdir) [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/domain/changeset.rs:55:16","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/domain/fingerprint.rs:28:24","p":0,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:67:50","p":0,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:81:16","p":5,"ph":5,"wa":0,"pa":0,"a":5,"pos":5,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":5,"a_opt":5,"sz_no_dedup":80,"sz_old":80,"sz_opt":80} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:84:32","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:86:16","p":5,"ph":5,"wa":0,"pa":0,"a":5,"pos":5,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":5,"a_opt":5,"sz_no_dedup":80,"sz_old":80,"sz_opt":80} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:32:16","p":3,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:38:8","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:38:8","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:76:33","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:36:16","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:65:40","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:78:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:104:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:108:16","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:126:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:148:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:154:16","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:233:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:242:16","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:23:16","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:26:12","p":2,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:65:16","p":2,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:68:12","p":3,"ph":4,"wa":0,"pa":0,"a":4,"pos":4,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":4,"a_opt":4,"sz_no_dedup":64,"sz_old":64,"sz_opt":64} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:75:8","p":5,"ph":4,"wa":0,"pa":0,"a":4,"pos":4,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":4,"a_opt":4,"sz_no_dedup":64,"sz_old":64,"sz_opt":64} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:88:8","p":5,"ph":4,"wa":0,"pa":0,"a":4,"pos":4,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":4,"a_opt":4,"sz_no_dedup":64,"sz_old":64,"sz_opt":64} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:101:8","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:17:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:18:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stdout] warning: unnecessary braces around block return value [INFO] [stdout] --> /opt/rustwide/target/debug/build/sailfish-compiler-538dd34e892f4514/out/templates/acb4512fb34a59c6-1811e2eaaa1204b8:2:19186 [INFO] [stdout] | [INFO] [stdout] 2 | ... ; { if let Some (perf) = & changeset . perf { __sf_rt :: render_text ! (__sf_buf , "\n") ; if ! perf . timings . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n
\n

⏱ Performance

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_rows_fetched) ; __sf_rt :: render_text ! (__sf_buf , " row(s) fetched\n ·\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_ms) ; __sf_rt :: render_text ! (__sf_buf , " ms total elapsed\n
\n
\n \n \n \n \n \n \n \n \n \n \n ") ; for t in & perf . timings { __sf_rt :: render_text ! (__sf_buf , "\n = 1000 { __sf_rt :: render_text ! (__sf_buf , "perf-slow") ; } else if t . duration_ms >= 100 { __sf_rt :: render_text ! (__sf_buf , "perf-medium") ; } else { __sf_rt :: render_text ! (__sf_buf , "perf-fast") ; } __sf_rt :: render_text ! (__sf_buf , "\">\n \n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
OperationTableRowsTime (ms)
") ; __sf_rt :: render_escaped ! (__sf_buf , t . operation) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . table) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . rows) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . duration_ms) ; __sf_rt :: render_text ! (__sf_buf , "
\n
\n
\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } } __... [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 2 - { let changeset = self . changeset ; __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { __sf_rt :: render_text ! (__sf_buf , "\n\n\n\n\nDiffly - Changeset ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . changeset_id) ; __sf_rt :: render_text ! (__sf_buf , "\n\n\n\n\n\n\n
\n
\n

Diffly

\n \n
\n

📋 Changeset | ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . driver) ; __sf_rt :: render_text ! (__sf_buf , "

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . changeset_id) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . source_schema) ; __sf_rt :: render_text ! (__sf_buf , " → ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . target_schema) ; __sf_rt :: render_text ! (__sf_buf , " | ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . created_at) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_inserts) ; __sf_rt :: render_text ! (__sf_buf , "
Inserts
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_updates) ; __sf_rt :: render_text ! (__sf_buf , "
Updates
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_deletes) ; __sf_rt :: render_text ! (__sf_buf , "
Deletes
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . tables_affected) ; __sf_rt :: render_text ! (__sf_buf , "
Tables
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; for table in & changeset . tables { __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; { __sf_rt :: render_text ! (__sf_buf , "
\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . target_schema) ; __sf_rt :: render_text ! (__sf_buf , ".") ; __sf_rt :: render_escaped ! (__sf_buf , table . table_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n
\n \n \n
\n ") ; if ! table . inserts . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n +") ; __sf_rt :: render_escaped ! (__sf_buf , table . inserts . len ()) ; __sf_rt :: render_text ! (__sf_buf , " insert") ; __sf_rt :: render_escaped ! (__sf_buf , if table . inserts . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . updates . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ~") ; __sf_rt :: render_escaped ! (__sf_buf , table . updates . len ()) ; __sf_rt :: render_text ! (__sf_buf , " update") ; __sf_rt :: render_escaped ! (__sf_buf , if table . updates . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . deletes . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n -") ; __sf_rt :: render_escaped ! (__sf_buf , table . deletes . len ()) ; __sf_rt :: render_text ! (__sf_buf , " delete") ; __sf_rt :: render_escaped ! (__sf_buf , if table . deletes . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
\n
\n
\n\n ") ; if ! table . inserts . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let group_name = "Inserts" ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . inserts ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { let pk_cols = & table . primary_key ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let non_pk_cols : Vec < & String > = rows [0] . data . keys () . filter (| k | ! pk_cols . contains (k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let pk_present : Vec < & String > = pk_cols . iter () . filter (| k | rows [0] . data . contains_key (* k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let all_cols : Vec < & String > = pk_present . iter () . copied () . chain (non_pk_cols . iter () . copied ()) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , group_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n \n ") ; if ! rows . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n \n \n ") ; for col in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; for col_name in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let v = row . data . get (* col_name) . unwrap_or (& serde_json :: Value :: Null) ; __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; __sf_rt :: render_escaped ! (__sf_buf , col) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , v . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n ") ; if ! table . updates . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . updates ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { __sf_rt :: render_text ! (__sf_buf , "
\n

Updates

\n \n \n \n \n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let pk_str = table . primary_key . iter () . filter_map (| k | row . pk . get (k) . map (| v | format ! ("{}={}" , k , v))) . collect :: < Vec < _ > > () . join (", ") ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; for (i , col_diff) in row . changed_columns . iter () . enumerate () { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; if i == 0 { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
PKColumnBeforeAfter
") ; __sf_rt :: render_escaped ! (__sf_buf , pk_str) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . column) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . before . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . after . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n ") ; if ! table . deletes . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let group_name = "Deletes" ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . deletes ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { let pk_cols = & table . primary_key ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let non_pk_cols : Vec < & String > = rows [0] . data . keys () . filter (| k | ! pk_cols . contains (k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let pk_present : Vec < & String > = pk_cols . iter () . filter (| k | rows [0] . data . contains_key (* k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let all_cols : Vec < & String > = pk_present . iter () . copied () . chain (non_pk_cols . iter () . copied ()) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , group_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n \n ") ; if ! rows . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n \n \n ") ; for col in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; for col_name in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let v = row . data . get (* col_name) . unwrap_or (& serde_json :: Value :: Null) ; __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; __sf_rt :: render_escaped ! (__sf_buf , col) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , v . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { if let Some (perf) = & changeset . perf { __sf_rt :: render_text ! (__sf_buf , "\n") ; if ! perf . timings . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n
\n

⏱ Performance

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_rows_fetched) ; __sf_rt :: render_text ! (__sf_buf , " row(s) fetched\n ·\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_ms) ; __sf_rt :: render_text ! (__sf_buf , " ms total elapsed\n
\n
\n \n \n \n \n \n \n \n \n \n \n ") ; for t in & perf . timings { __sf_rt :: render_text ! (__sf_buf , "\n = 1000 { __sf_rt :: render_text ! (__sf_buf , "perf-slow") ; } else if t . duration_ms >= 100 { __sf_rt :: render_text ! (__sf_buf , "perf-medium") ; } else { __sf_rt :: render_text ! (__sf_buf , "perf-fast") ; } __sf_rt :: render_text ! (__sf_buf , "\">\n \n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
OperationTableRowsTime (ms)
") ; __sf_rt :: render_escaped ! (__sf_buf , t . operation) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . table) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . rows) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . duration_ms) ; __sf_rt :: render_text ! (__sf_buf , "
\n
\n
\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { __sf_rt :: render_text ! (__sf_buf , "
\n\n") ; } } [INFO] [stdout] 2 + { let changeset = self . changeset ; __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { __sf_rt :: render_text ! (__sf_buf , "\n\n\n\n\nDiffly - Changeset ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . changeset_id) ; __sf_rt :: render_text ! (__sf_buf , "\n\n\n\n\n\n\n
\n
\n

Diffly

\n \n
\n

📋 Changeset | ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . driver) ; __sf_rt :: render_text ! (__sf_buf , "

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . changeset_id) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . source_schema) ; __sf_rt :: render_text ! (__sf_buf , " → ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . target_schema) ; __sf_rt :: render_text ! (__sf_buf , " | ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . created_at) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_inserts) ; __sf_rt :: render_text ! (__sf_buf , "
Inserts
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_updates) ; __sf_rt :: render_text ! (__sf_buf , "
Updates
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_deletes) ; __sf_rt :: render_text ! (__sf_buf , "
Deletes
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . tables_affected) ; __sf_rt :: render_text ! (__sf_buf , "
Tables
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; for table in & changeset . tables { __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; { __sf_rt :: render_text ! (__sf_buf , "
\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . target_schema) ; __sf_rt :: render_text ! (__sf_buf , ".") ; __sf_rt :: render_escaped ! (__sf_buf , table . table_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n
\n \n \n
\n ") ; if ! table . inserts . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n +") ; __sf_rt :: render_escaped ! (__sf_buf , table . inserts . len ()) ; __sf_rt :: render_text ! (__sf_buf , " insert") ; __sf_rt :: render_escaped ! (__sf_buf , if table . inserts . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . updates . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ~") ; __sf_rt :: render_escaped ! (__sf_buf , table . updates . len ()) ; __sf_rt :: render_text ! (__sf_buf , " update") ; __sf_rt :: render_escaped ! (__sf_buf , if table . updates . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . deletes . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n -") ; __sf_rt :: render_escaped ! (__sf_buf , table . deletes . len ()) ; __sf_rt :: render_text ! (__sf_buf , " delete") ; __sf_rt :: render_escaped ! (__sf_buf , if table . deletes . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
\n
\n
\n\n ") ; if ! table . inserts . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let group_name = "Inserts" ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . inserts ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { let pk_cols = & table . primary_key ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let non_pk_cols : Vec < & String > = rows [0] . data . keys () . filter (| k | ! pk_cols . contains (k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let pk_present : Vec < & String > = pk_cols . iter () . filter (| k | rows [0] . data . contains_key (* k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let all_cols : Vec < & String > = pk_present . iter () . copied () . chain (non_pk_cols . iter () . copied ()) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , group_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n \n ") ; if ! rows . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n \n \n ") ; for col in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; for col_name in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let v = row . data . get (* col_name) . unwrap_or (& serde_json :: Value :: Null) ; __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; __sf_rt :: render_escaped ! (__sf_buf , col) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , v . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n ") ; if ! table . updates . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . updates ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { __sf_rt :: render_text ! (__sf_buf , "
\n

Updates

\n \n \n \n \n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let pk_str = table . primary_key . iter () . filter_map (| k | row . pk . get (k) . map (| v | format ! ("{}={}" , k , v))) . collect :: < Vec < _ > > () . join (", ") ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; for (i , col_diff) in row . changed_columns . iter () . enumerate () { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; if i == 0 { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
PKColumnBeforeAfter
") ; __sf_rt :: render_escaped ! (__sf_buf , pk_str) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . column) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . before . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . after . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n ") ; if ! table . deletes . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let group_name = "Deletes" ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . deletes ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { let pk_cols = & table . primary_key ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let non_pk_cols : Vec < & String > = rows [0] . data . keys () . filter (| k | ! pk_cols . contains (k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let pk_present : Vec < & String > = pk_cols . iter () . filter (| k | rows [0] . data . contains_key (* k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let all_cols : Vec < & String > = pk_present . iter () . copied () . chain (non_pk_cols . iter () . copied ()) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , group_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n \n ") ; if ! rows . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n \n \n ") ; for col in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; for col_name in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let v = row . data . get (* col_name) . unwrap_or (& serde_json :: Value :: Null) ; __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; __sf_rt :: render_escaped ! (__sf_buf , col) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , v . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; if let Some (perf) = & changeset . perf { __sf_rt :: render_text ! (__sf_buf , "\n") ; if ! perf . timings . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n
\n

⏱ Performance

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_rows_fetched) ; __sf_rt :: render_text ! (__sf_buf , " row(s) fetched\n ·\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_ms) ; __sf_rt :: render_text ! (__sf_buf , " ms total elapsed\n
\n
\n \n \n \n \n \n \n \n \n \n \n ") ; for t in & perf . timings { __sf_rt :: render_text ! (__sf_buf , "\n = 1000 { __sf_rt :: render_text ! (__sf_buf , "perf-slow") ; } else if t . duration_ms >= 100 { __sf_rt :: render_text ! (__sf_buf , "perf-medium") ; } else { __sf_rt :: render_text ! (__sf_buf , "perf-fast") ; } __sf_rt :: render_text ! (__sf_buf , "\">\n \n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
OperationTableRowsTime (ms)
") ; __sf_rt :: render_escaped ! (__sf_buf , t . operation) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . table) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . rows) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . duration_ms) ; __sf_rt :: render_text ! (__sf_buf , "
\n
\n
\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { __sf_rt :: render_text ! (__sf_buf , "
\n\n") ; } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:19:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:20:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:21:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:24:12","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stdout] warning: unnecessary braces around block return value [INFO] [stdout] --> /opt/rustwide/target/debug/build/sailfish-compiler-538dd34e892f4514/out/templates/acb4512fb34a59c6-1811e2eaaa1204b8:2:19186 [INFO] [stdout] | [INFO] [stdout] 2 | ... ; { if let Some (perf) = & changeset . perf { __sf_rt :: render_text ! (__sf_buf , "\n") ; if ! perf . timings . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n
\n

⏱ Performance

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_rows_fetched) ; __sf_rt :: render_text ! (__sf_buf , " row(s) fetched\n ·\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_ms) ; __sf_rt :: render_text ! (__sf_buf , " ms total elapsed\n
\n
\n \n \n \n \n \n \n \n \n \n \n ") ; for t in & perf . timings { __sf_rt :: render_text ! (__sf_buf , "\n = 1000 { __sf_rt :: render_text ! (__sf_buf , "perf-slow") ; } else if t . duration_ms >= 100 { __sf_rt :: render_text ! (__sf_buf , "perf-medium") ; } else { __sf_rt :: render_text ! (__sf_buf , "perf-fast") ; } __sf_rt :: render_text ! (__sf_buf , "\">\n \n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
OperationTableRowsTime (ms)
") ; __sf_rt :: render_escaped ! (__sf_buf , t . operation) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . table) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . rows) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . duration_ms) ; __sf_rt :: render_text ! (__sf_buf , "
\n
\n
\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } } __... [INFO] [stdout] | ^^ ^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_braces)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: remove these braces [INFO] [stdout] | [INFO] [stdout] 2 - { let changeset = self . changeset ; __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { __sf_rt :: render_text ! (__sf_buf , "\n\n\n\n\nDiffly - Changeset ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . changeset_id) ; __sf_rt :: render_text ! (__sf_buf , "\n\n\n\n\n\n\n
\n
\n

Diffly

\n \n
\n

📋 Changeset | ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . driver) ; __sf_rt :: render_text ! (__sf_buf , "

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . changeset_id) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . source_schema) ; __sf_rt :: render_text ! (__sf_buf , " → ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . target_schema) ; __sf_rt :: render_text ! (__sf_buf , " | ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . created_at) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_inserts) ; __sf_rt :: render_text ! (__sf_buf , "
Inserts
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_updates) ; __sf_rt :: render_text ! (__sf_buf , "
Updates
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_deletes) ; __sf_rt :: render_text ! (__sf_buf , "
Deletes
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . tables_affected) ; __sf_rt :: render_text ! (__sf_buf , "
Tables
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; for table in & changeset . tables { __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; { __sf_rt :: render_text ! (__sf_buf , "
\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . target_schema) ; __sf_rt :: render_text ! (__sf_buf , ".") ; __sf_rt :: render_escaped ! (__sf_buf , table . table_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n
\n \n \n
\n ") ; if ! table . inserts . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n +") ; __sf_rt :: render_escaped ! (__sf_buf , table . inserts . len ()) ; __sf_rt :: render_text ! (__sf_buf , " insert") ; __sf_rt :: render_escaped ! (__sf_buf , if table . inserts . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . updates . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ~") ; __sf_rt :: render_escaped ! (__sf_buf , table . updates . len ()) ; __sf_rt :: render_text ! (__sf_buf , " update") ; __sf_rt :: render_escaped ! (__sf_buf , if table . updates . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . deletes . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n -") ; __sf_rt :: render_escaped ! (__sf_buf , table . deletes . len ()) ; __sf_rt :: render_text ! (__sf_buf , " delete") ; __sf_rt :: render_escaped ! (__sf_buf , if table . deletes . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
\n
\n
\n\n ") ; if ! table . inserts . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let group_name = "Inserts" ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . inserts ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { let pk_cols = & table . primary_key ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let non_pk_cols : Vec < & String > = rows [0] . data . keys () . filter (| k | ! pk_cols . contains (k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let pk_present : Vec < & String > = pk_cols . iter () . filter (| k | rows [0] . data . contains_key (* k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let all_cols : Vec < & String > = pk_present . iter () . copied () . chain (non_pk_cols . iter () . copied ()) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , group_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n \n ") ; if ! rows . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n \n \n ") ; for col in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; for col_name in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let v = row . data . get (* col_name) . unwrap_or (& serde_json :: Value :: Null) ; __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; __sf_rt :: render_escaped ! (__sf_buf , col) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , v . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n ") ; if ! table . updates . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . updates ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { __sf_rt :: render_text ! (__sf_buf , "
\n

Updates

\n \n \n \n \n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let pk_str = table . primary_key . iter () . filter_map (| k | row . pk . get (k) . map (| v | format ! ("{}={}" , k , v))) . collect :: < Vec < _ > > () . join (", ") ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; for (i , col_diff) in row . changed_columns . iter () . enumerate () { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; if i == 0 { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
PKColumnBeforeAfter
") ; __sf_rt :: render_escaped ! (__sf_buf , pk_str) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . column) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . before . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . after . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n ") ; if ! table . deletes . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let group_name = "Deletes" ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . deletes ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { let pk_cols = & table . primary_key ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let non_pk_cols : Vec < & String > = rows [0] . data . keys () . filter (| k | ! pk_cols . contains (k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let pk_present : Vec < & String > = pk_cols . iter () . filter (| k | rows [0] . data . contains_key (* k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let all_cols : Vec < & String > = pk_present . iter () . copied () . chain (non_pk_cols . iter () . copied ()) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , group_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n \n ") ; if ! rows . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n \n \n ") ; for col in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; for col_name in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let v = row . data . get (* col_name) . unwrap_or (& serde_json :: Value :: Null) ; __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; __sf_rt :: render_escaped ! (__sf_buf , col) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , v . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { if let Some (perf) = & changeset . perf { __sf_rt :: render_text ! (__sf_buf , "\n") ; if ! perf . timings . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n
\n

⏱ Performance

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_rows_fetched) ; __sf_rt :: render_text ! (__sf_buf , " row(s) fetched\n ·\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_ms) ; __sf_rt :: render_text ! (__sf_buf , " ms total elapsed\n
\n
\n \n \n \n \n \n \n \n \n \n \n ") ; for t in & perf . timings { __sf_rt :: render_text ! (__sf_buf , "\n = 1000 { __sf_rt :: render_text ! (__sf_buf , "perf-slow") ; } else if t . duration_ms >= 100 { __sf_rt :: render_text ! (__sf_buf , "perf-medium") ; } else { __sf_rt :: render_text ! (__sf_buf , "perf-fast") ; } __sf_rt :: render_text ! (__sf_buf , "\">\n \n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
OperationTableRowsTime (ms)
") ; __sf_rt :: render_escaped ! (__sf_buf , t . operation) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . table) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . rows) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . duration_ms) ; __sf_rt :: render_text ! (__sf_buf , "
\n
\n
\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { __sf_rt :: render_text ! (__sf_buf , "
\n\n") ; } } [INFO] [stdout] 2 + { let changeset = self . changeset ; __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { __sf_rt :: render_text ! (__sf_buf , "\n\n\n\n\nDiffly - Changeset ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . changeset_id) ; __sf_rt :: render_text ! (__sf_buf , "\n\n\n\n\n\n\n
\n
\n

Diffly

\n \n
\n

📋 Changeset | ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . driver) ; __sf_rt :: render_text ! (__sf_buf , "

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . changeset_id) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . source_schema) ; __sf_rt :: render_text ! (__sf_buf , " → ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . target_schema) ; __sf_rt :: render_text ! (__sf_buf , " | ") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . created_at) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_inserts) ; __sf_rt :: render_text ! (__sf_buf , "
Inserts
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_updates) ; __sf_rt :: render_text ! (__sf_buf , "
Updates
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . total_deletes) ; __sf_rt :: render_text ! (__sf_buf , "
Deletes
\n
") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . summary . tables_affected) ; __sf_rt :: render_text ! (__sf_buf , "
Tables
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; for table in & changeset . tables { __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; { __sf_rt :: render_text ! (__sf_buf , "
\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , changeset . target_schema) ; __sf_rt :: render_text ! (__sf_buf , ".") ; __sf_rt :: render_escaped ! (__sf_buf , table . table_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n
\n \n \n
\n ") ; if ! table . inserts . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n +") ; __sf_rt :: render_escaped ! (__sf_buf , table . inserts . len ()) ; __sf_rt :: render_text ! (__sf_buf , " insert") ; __sf_rt :: render_escaped ! (__sf_buf , if table . inserts . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . updates . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ~") ; __sf_rt :: render_escaped ! (__sf_buf , table . updates . len ()) ; __sf_rt :: render_text ! (__sf_buf , " update") ; __sf_rt :: render_escaped ! (__sf_buf , if table . updates . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; if ! table . deletes . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n -") ; __sf_rt :: render_escaped ! (__sf_buf , table . deletes . len ()) ; __sf_rt :: render_text ! (__sf_buf , " delete") ; __sf_rt :: render_escaped ! (__sf_buf , if table . deletes . len () > 1 { "s" } else { "" }) ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
\n
\n
\n\n ") ; if ! table . inserts . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let group_name = "Inserts" ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . inserts ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { let pk_cols = & table . primary_key ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let non_pk_cols : Vec < & String > = rows [0] . data . keys () . filter (| k | ! pk_cols . contains (k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let pk_present : Vec < & String > = pk_cols . iter () . filter (| k | rows [0] . data . contains_key (* k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let all_cols : Vec < & String > = pk_present . iter () . copied () . chain (non_pk_cols . iter () . copied ()) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , group_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n \n ") ; if ! rows . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n \n \n ") ; for col in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; for col_name in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let v = row . data . get (* col_name) . unwrap_or (& serde_json :: Value :: Null) ; __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; __sf_rt :: render_escaped ! (__sf_buf , col) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , v . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n ") ; if ! table . updates . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . updates ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { __sf_rt :: render_text ! (__sf_buf , "
\n

Updates

\n \n \n \n \n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let pk_str = table . primary_key . iter () . filter_map (| k | row . pk . get (k) . map (| v | format ! ("{}={}" , k , v))) . collect :: < Vec < _ > > () . join (", ") ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; for (i , col_diff) in row . changed_columns . iter () . enumerate () { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; if i == 0 { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
PKColumnBeforeAfter
") ; __sf_rt :: render_escaped ! (__sf_buf , pk_str) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . column) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . before . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , & col_diff . after . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n ") ; if ! table . deletes . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let group_name = "Deletes" ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; let rows = & table . deletes ; __sf_rt :: render_text ! (__sf_buf , "\n ") ; { let pk_cols = & table . primary_key ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let non_pk_cols : Vec < & String > = rows [0] . data . keys () . filter (| k | ! pk_cols . contains (k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let pk_present : Vec < & String > = pk_cols . iter () . filter (| k | rows [0] . data . contains_key (* k)) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n") ; let all_cols : Vec < & String > = pk_present . iter () . copied () . chain (non_pk_cols . iter () . copied ()) . collect () ; __sf_rt :: render_text ! (__sf_buf , "\n
\n

") ; __sf_rt :: render_escaped ! (__sf_buf , group_name) ; __sf_rt :: render_text ! (__sf_buf , "

\n \n ") ; if ! rows . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n \n \n ") ; for col in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n \n \n ") ; for row in rows { __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; for col_name in & all_cols { __sf_rt :: render_text ! (__sf_buf , "\n ") ; let v = row . data . get (* col_name) . unwrap_or (& serde_json :: Value :: Null) ; __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; __sf_rt :: render_escaped ! (__sf_buf , col) ; __sf_rt :: render_text ! (__sf_buf , "
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , v . to_string ()) ; __sf_rt :: render_text ! (__sf_buf , "\n
\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n
") ; } __sf_rt :: render_text ! (__sf_buf , "\n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; if let Some (perf) = & changeset . perf { __sf_rt :: render_text ! (__sf_buf , "\n") ; if ! perf . timings . is_empty () { __sf_rt :: render_text ! (__sf_buf , "\n
\n

⏱ Performance

\n
\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_rows_fetched) ; __sf_rt :: render_text ! (__sf_buf , " row(s) fetched\n ·\n ") ; __sf_rt :: render_escaped ! (__sf_buf , perf . total_ms) ; __sf_rt :: render_text ! (__sf_buf , " ms total elapsed\n
\n
\n \n \n \n \n \n \n \n \n \n \n ") ; for t in & perf . timings { __sf_rt :: render_text ! (__sf_buf , "\n = 1000 { __sf_rt :: render_text ! (__sf_buf , "perf-slow") ; } else if t . duration_ms >= 100 { __sf_rt :: render_text ! (__sf_buf , "perf-medium") ; } else { __sf_rt :: render_text ! (__sf_buf , "perf-fast") ; } __sf_rt :: render_text ! (__sf_buf , "\">\n \n \n \n \n \n ") ; } __sf_rt :: render_text ! (__sf_buf , "\n \n
OperationTableRowsTime (ms)
") ; __sf_rt :: render_escaped ! (__sf_buf , t . operation) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . table) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . rows) ; __sf_rt :: render_text ! (__sf_buf , "") ; __sf_rt :: render_escaped ! (__sf_buf , t . duration_ms) ; __sf_rt :: render_text ! (__sf_buf , "
\n
\n
\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n") ; } __sf_rt :: render_text ! (__sf_buf , "\n\n") ; { __sf_rt :: render_text ! (__sf_buf , "
\n\n") ; } } [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:30:22","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:38:26","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:39:26","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:40:26","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:46:20","p":3,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:52:20","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:61:20","p":3,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:67:20","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:72:20","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:82:20","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:87:30","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:92:22","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:106:24","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:108:24","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:120:16","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/mod.rs:35:23","p":2,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/monitoring.rs:92:64","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/monitoring.rs:92:64","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/monitoring.rs:146:115","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/monitoring.rs:146:115","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:116:15","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:116:15","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:121:37","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/opt/rustwide/target/debug/build/sailfish-compiler-538dd34e892f4514/out/templates/acb4512fb34a59c6-1811e2eaaa1204b8:2:14811","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/domain/changeset.rs:55:16","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/domain/fingerprint.rs:28:24","p":0,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:67:50","p":0,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:81:16","p":5,"ph":5,"wa":0,"pa":0,"a":5,"pos":5,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":5,"a_opt":5,"sz_no_dedup":80,"sz_old":80,"sz_opt":80} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:84:32","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:86:16","p":5,"ph":5,"wa":0,"pa":0,"a":5,"pos":5,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":5,"a_opt":5,"sz_no_dedup":80,"sz_old":80,"sz_opt":80} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:245:12","p":3,"ph":2,"wa":0,"pa":0,"a":2,"pos":0,"named":0,"cap":2,"ucap":2,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:32:16","p":3,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:38:8","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:38:8","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:76:33","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:36:16","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:65:40","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:78:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:104:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:108:16","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:126:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:148:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:154:16","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:233:16","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:242:16","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:23:16","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:26:12","p":2,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:65:16","p":2,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:68:12","p":3,"ph":4,"wa":0,"pa":0,"a":4,"pos":4,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":4,"a_opt":4,"sz_no_dedup":64,"sz_old":64,"sz_opt":64} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:75:8","p":5,"ph":4,"wa":0,"pa":0,"a":4,"pos":4,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":4,"a_opt":4,"sz_no_dedup":64,"sz_old":64,"sz_opt":64} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:88:8","p":5,"ph":4,"wa":0,"pa":0,"a":4,"pos":4,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":4,"a_opt":4,"sz_no_dedup":64,"sz_old":64,"sz_opt":64} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:101:8","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:17:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:18:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:19:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:20:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:21:22","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:24:12","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:30:22","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:38:26","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:39:26","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:40:26","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:46:20","p":3,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:52:20","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:61:20","p":3,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:67:20","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:72:20","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:82:20","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:87:30","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/core/src/macros/mod.rs:642:29","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:92:22","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:106:24","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:108:24","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:120:16","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/mod.rs:35:23","p":2,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/conflict.rs:383:35","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/monitoring.rs:92:64","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/monitoring.rs:92:64","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/monitoring.rs:146:115","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/application/monitoring.rs:146:115","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:234:18","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:235:18","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:350:26","p":0,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/config.rs:384:33","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:116:15","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:116:15","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/client.rs:121:37","p":2,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:497:42","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:506:12","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/dialect.rs:518:12","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:190:45","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/infrastructure/db/sql_utils.rs:193:12","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"/opt/rustwide/target/debug/build/sailfish-compiler-538dd34e892f4514/out/templates/acb4512fb34a59c6-1811e2eaaa1204b8:2:14811","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:238:55","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:239:54","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:242:50","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:243:45","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:244:46","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:247:55","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:248:46","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/json.rs:261:12","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:209:12","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:221:12","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diffly","loc":"src/presentation/writers/sql.rs:233:12","p":1,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:37:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":0,"named":0,"cap":1,"ucap":1,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:46:12","p":4,"ph":3,"wa":0,"pa":0,"a":3,"pos":3,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":3,"a_opt":3,"sz_no_dedup":48,"sz_old":48,"sz_opt":48} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:62:13","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:110:8","p":3,"ph":2,"wa":0,"pa":0,"a":2,"pos":2,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:124:13","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:125:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:126:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:127:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:128:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/std/src/macros.rs:140:23","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:136:17","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:139:21","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:146:20","p":5,"ph":4,"wa":0,"pa":0,"a":4,"pos":4,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":4,"a_opt":4,"sz_no_dedup":64,"sz_old":64,"sz_opt":64} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:153:21","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"/rustc/38c2997544af84fe301d600d6896397738163002/library/std/src/macros.rs:140:23","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:162:12","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:169:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:176:30","p":1,"ph":2,"wa":0,"pa":0,"a":2,"pos":0,"named":0,"cap":2,"ucap":2,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":2,"a_opt":2,"sz_no_dedup":32,"sz_old":32,"sz_opt":32} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:182:13","p":1,"ph":0,"wa":0,"pa":0,"a":0,"pos":0,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":0,"a_opt":0,"sz_no_dedup":0,"sz_old":0,"sz_opt":0} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:183:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:184:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:185:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] [FMTARGS] {"crate":"diff_as_lib","loc":"examples/diff_as_lib.rs:186:13","p":2,"ph":1,"wa":0,"pa":0,"a":1,"pos":1,"named":0,"cap":0,"ucap":0,"dup":0,"const":0,"constparam":0,"other_dup":0,"d2":0,"d3":0,"d4p":0,"deduped":0,"remaining":0,"a_old":1,"a_opt":1,"sz_no_dedup":16,"sz_old":16,"sz_opt":16} [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.39s [INFO] running `Command { std: "docker" "inspect" "c48f50d78d877c3c5938b7fd1760208d26663df0fa3e7a86181de5880003875c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c48f50d78d877c3c5938b7fd1760208d26663df0fa3e7a86181de5880003875c", kill_on_drop: false }` [INFO] [stdout] c48f50d78d877c3c5938b7fd1760208d26663df0fa3e7a86181de5880003875c