[INFO] cloning repository https://github.com/rbmzeum/welsib-verifier-linux-gtk4
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rbmzeum/welsib-verifier-linux-gtk4" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frbmzeum%2Fwelsib-verifier-linux-gtk4", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frbmzeum%2Fwelsib-verifier-linux-gtk4'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] e69898c7de28ec429a7d3e72af63a77a3bfd0a4c
[INFO] checking rbmzeum/welsib-verifier-linux-gtk4 against master#32cd9114712a24010b0583624dc52ac302194128 for pr-143717
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frbmzeum%2Fwelsib-verifier-linux-gtk4" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/rbmzeum/welsib-verifier-linux-gtk4
[INFO] finished tweaking git repo https://github.com/rbmzeum/welsib-verifier-linux-gtk4
[INFO] tweaked toml for git repo https://github.com/rbmzeum/welsib-verifier-linux-gtk4 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/rbmzeum/welsib-verifier-linux-gtk4 on toolchain 32cd9114712a24010b0583624dc52ac302194128
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/rbmzeum/welsib-verifier-linux-gtk4 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" "+32cd9114712a24010b0583624dc52ac302194128" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: the cargo feature `edition2024` has been stabilized in the 1.85 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glib-sys v0.20.2
[INFO] [stderr]   Downloaded glib-build-tools v0.20.0
[INFO] [stderr]   Downloaded glib-macros v0.20.3
[INFO] [stderr]   Downloaded gobject-sys v0.20.1
[INFO] [stderr]   Downloaded gdk-pixbuf v0.20.1
[INFO] [stderr]   Downloaded graphene-rs v0.20.1
[INFO] [stderr]   Downloaded pango v0.20.1
[INFO] [stderr]   Downloaded pango-sys v0.20.1
[INFO] [stderr]   Downloaded cfg-expr v0.16.0
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.20.1
[INFO] [stderr]   Downloaded graphene-sys v0.20.1
[INFO] [stderr]   Downloaded gio-sys v0.20.1
[INFO] [stderr]   Downloaded system-deps v7.0.2
[INFO] [stderr]   Downloaded gio v0.20.1
[INFO] [stderr]   Downloaded glib v0.20.3
[INFO] [stderr]   Downloaded gtk4 v0.9.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] eb82f0c1a1767dfc0b4b0f0f1cdf45b5a7de3cc88ff813dce81fc81a87a4132c
[INFO] running `Command { std: "docker" "start" "-a" "eb82f0c1a1767dfc0b4b0f0f1cdf45b5a7de3cc88ff813dce81fc81a87a4132c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eb82f0c1a1767dfc0b4b0f0f1cdf45b5a7de3cc88ff813dce81fc81a87a4132c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb82f0c1a1767dfc0b4b0f0f1cdf45b5a7de3cc88ff813dce81fc81a87a4132c", kill_on_drop: false }`
[INFO] [stdout] eb82f0c1a1767dfc0b4b0f0f1cdf45b5a7de3cc88ff813dce81fc81a87a4132c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+32cd9114712a24010b0583624dc52ac302194128" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 24512565d5729b7445113401b40a064de98187c80c91475168722af08d3d92d8
[INFO] running `Command { std: "docker" "start" "-a" "24512565d5729b7445113401b40a064de98187c80c91475168722af08d3d92d8", kill_on_drop: false }`
[INFO] [stderr] warning: the cargo feature `edition2024` has been stabilized in the 1.85 release and is no longer necessary to be listed in the manifest
[INFO] [stderr]   See https://doc.rust-lang.org/nightly/cargo/reference/manifest.html#the-edition-field for more information about using this feature.
[INFO] [stderr]    Compiling serde v1.0.210
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling winnow v0.6.18
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling smallvec v1.13.2
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling version-compare v0.2.0
[INFO] [stderr]    Compiling pkg-config v0.3.30
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling proc-macro2 v1.0.86
[INFO] [stderr]    Compiling unicode-ident v1.0.13
[INFO] [stderr]    Compiling autocfg v1.3.0
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]    Compiling slab v0.4.9
[INFO] [stderr]    Compiling cfg-expr v0.16.0
[INFO] [stderr]     Checking futures-task v0.3.30
[INFO] [stderr]    Compiling indexmap v2.5.0
[INFO] [stderr]     Checking pin-project-lite v0.2.14
[INFO] [stderr]     Checking pin-utils v0.1.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]    Compiling syn v2.0.77
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]    Compiling gio v0.20.1
[INFO] [stderr]    Compiling semver v1.0.23
[INFO] [stderr]     Checking futures-io v0.3.30
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling serde_json v1.0.128
[INFO] [stderr]     Checking ryu v1.0.18
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]     Checking itoa v1.0.11
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking once_cell v1.19.0
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]    Compiling serde_spanned v0.6.7
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling toml_edit v0.22.21
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling serde_derive v1.0.210
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]    Compiling toml v0.8.19
[INFO] [stderr]    Compiling proc-macro-crate v3.2.0
[INFO] [stderr]    Compiling system-deps v7.0.2
[INFO] [stderr]    Compiling glib-macros v0.20.3
[INFO] [stderr]    Compiling gtk4-macros v0.9.1
[INFO] [stderr]    Compiling glib-sys v0.20.2
[INFO] [stderr]    Compiling gobject-sys v0.20.1
[INFO] [stderr]    Compiling gio-sys v0.20.1
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.0
[INFO] [stderr]    Compiling pango-sys v0.20.1
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.20.1
[INFO] [stderr]    Compiling graphene-sys v0.20.1
[INFO] [stderr]    Compiling gdk4-sys v0.9.0
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]    Compiling gsk4-sys v0.9.0
[INFO] [stderr]    Compiling gtk4-sys v0.9.0
[INFO] [stderr]    Compiling libadwaita-sys v0.7.0
[INFO] [stderr]     Checking glib v0.20.3
[INFO] [stderr]     Checking cairo-rs v0.20.1
[INFO] [stderr]     Checking graphene-rs v0.20.1
[INFO] [stderr]     Checking pango v0.20.1
[INFO] [stderr]     Checking gdk-pixbuf v0.20.1
[INFO] [stderr]    Compiling glib-build-tools v0.20.0
[INFO] [stderr]    Compiling welsib-public v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking gdk4 v0.9.0
[INFO] [stderr]     Checking gsk4 v0.9.0
[INFO] [stderr]     Checking gtk4 v0.9.1
[INFO] [stderr]     Checking libadwaita v0.7.0
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/main.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | unsafe extern {
[INFO] [stdout]    |        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/main.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | unsafe extern {
[INFO] [stdout]    |        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_decode` is never used
[INFO] [stdout]   --> src/main.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn safe_decode(str: &String) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_init` is never used
[INFO] [stdout]   --> src/main.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn digest_init();
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_update` is never used
[INFO] [stdout]   --> src/main.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn digest_update(bytes: &[u8]);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_finalize` is never used
[INFO] [stdout]   --> src/main.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn digest_finalize() -> Vec<u8>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn digest(data: &[u8]) -> Vec<u8>;
[INFO] [stdout]    |                     ^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn digest(data: &[u8]) -> Vec<u8>;
[INFO] [stdout]    |                               ^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:21:29
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn digest_update(bytes: &[u8]);
[INFO] [stdout]    |                             ^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn digest_finalize() -> Vec<u8>;
[INFO] [stdout]    |                             ^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                     ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                          ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:23:67
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                                   ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:24:53
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn is_not_test_signature_proof(signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                     ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                            ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:25:77
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                                             ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NavigationSplitView`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use adw::{prelude::*, NavigationSplitView, HeaderBar};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::glib::SignalHandlerId`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gtk::glib::SignalHandlerId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::glib::subclass::Signal`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use gtk::glib::subclass::Signal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entry`, `FilterListModel`, `ListBox`, and `Stack`
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:10:41
[INFO] [stdout]    |
[INFO] [stdout] 10 | use gtk::{gio, glib, CompositeTemplate, Entry, FilterListModel, ListBox, Stack, TextView};
[INFO] [stdout]    |                                         ^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use once_cell::sync::Lazy;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | unsafe extern {
[INFO] [stdout]    |        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionRow`, `AlertDialog`, and `ResponseAppearance`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use adw::{ActionRow, AlertDialog, ResponseAppearance};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gio::Settings`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gio::Settings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clone`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glib::{clone, Object};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Align`, `CheckButton`, `CustomFilter`, `Entry`, `FilterListModel`, `Label`, `ListBoxRow`, `NoSelection`, `pango`, and `template_callbacks`
[INFO] [stdout]   --> src/welsib-verifier/window/mod.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     gio, glib, pango, Align, CheckButton, CustomFilter, Entry, FilterListModel, Label,
[INFO] [stdout]    |                ^^^^^  ^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 12 |     ListBoxRow, NoSelection,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 13 |     template_callbacks,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::APP_ID`
[INFO] [stdout]   --> src/welsib-verifier/window/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::APP_ID;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_decode` is never used
[INFO] [stdout]   --> src/main.rs:68:4
[INFO] [stdout]    |
[INFO] [stdout] 68 | fn safe_decode(str: &String) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_init` is never used
[INFO] [stdout]   --> src/main.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 |     fn digest_init();
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_update` is never used
[INFO] [stdout]   --> src/main.rs:21:8
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn digest_update(bytes: &[u8]);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_finalize` is never used
[INFO] [stdout]   --> src/main.rs:22:8
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn digest_finalize() -> Vec<u8>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:19:21
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn digest(data: &[u8]) -> Vec<u8>;
[INFO] [stdout]    |                     ^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:19:31
[INFO] [stdout]    |
[INFO] [stdout] 19 |     fn digest(data: &[u8]) -> Vec<u8>;
[INFO] [stdout]    |                               ^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:21:29
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn digest_update(bytes: &[u8]);
[INFO] [stdout]    |                             ^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 |     fn digest_finalize() -> Vec<u8>;
[INFO] [stdout]    |                             ^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:23:21
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                     ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:23:42
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                          ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:23:67
[INFO] [stdout]    |
[INFO] [stdout] 23 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                                   ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:24:53
[INFO] [stdout]    |
[INFO] [stdout] 24 |     fn is_not_test_signature_proof(signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                     ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:25:44
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                            ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/main.rs:25:77
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                                             ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cell::RefCell`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::cell::RefCell;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NavigationSplitView`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use adw::{prelude::*, NavigationSplitView, HeaderBar};
[INFO] [stdout]   |                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::glib::SignalHandlerId`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gtk::glib::SignalHandlerId;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gtk::glib::subclass::Signal`
[INFO] [stdout]  --> src/welsib-verifier/window/imp.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use gtk::glib::subclass::Signal;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Entry`, `FilterListModel`, `ListBox`, and `Stack`
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:10:41
[INFO] [stdout]    |
[INFO] [stdout] 10 | use gtk::{gio, glib, CompositeTemplate, Entry, FilterListModel, ListBox, Stack, TextView};
[INFO] [stdout]    |                                         ^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `once_cell::sync::Lazy`
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use once_cell::sync::Lazy;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` declarations without an explicit ABI are deprecated
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | unsafe extern {
[INFO] [stdout]    |        ^^^^^^ help: explicitly specify the "C" ABI: `extern "C"`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(missing_abi)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ActionRow`, `AlertDialog`, and `ResponseAppearance`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:7:11
[INFO] [stdout]   |
[INFO] [stdout] 7 | use adw::{ActionRow, AlertDialog, ResponseAppearance};
[INFO] [stdout]   |           ^^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `gio::Settings`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use gio::Settings;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `clone`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | use glib::{clone, Object};
[INFO] [stdout]   |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Align`, `CheckButton`, `CustomFilter`, `Entry`, `FilterListModel`, `Label`, `ListBoxRow`, `NoSelection`, `pango`, and `template_callbacks`
[INFO] [stdout]   --> src/welsib-verifier/window/mod.rs:11:16
[INFO] [stdout]    |
[INFO] [stdout] 11 |     gio, glib, pango, Align, CheckButton, CustomFilter, Entry, FilterListModel, Label,
[INFO] [stdout]    |                ^^^^^  ^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^  ^^^^^^^^^^^^^^^  ^^^^^
[INFO] [stdout] 12 |     ListBoxRow, NoSelection,
[INFO] [stdout]    |     ^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 13 |     template_callbacks,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::APP_ID`
[INFO] [stdout]   --> src/welsib-verifier/window/mod.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use crate::APP_ID;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adw::subclass::prelude`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use adw::subclass::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adw::prelude`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use adw::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> src/welsib-verifier/main.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn setup_shortcuts(app: &adw::Application) {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_decode` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn safe_decode(str: &String) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec2hex` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn vec2hex(data: Vec<u8>) -> String {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn decode(str: &String) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_init` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn digest_init();
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_update` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn digest_update(bytes: &[u8]);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_finalize` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn digest_finalize() -> Vec<u8>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `activation_proof` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn digest(data: &[u8]) -> Vec<u8>;
[INFO] [stdout]    |                     ^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:52:31
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn digest(data: &[u8]) -> Vec<u8>;
[INFO] [stdout]    |                               ^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn digest_update(bytes: &[u8]);
[INFO] [stdout]    |                             ^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:55:29
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn digest_finalize() -> Vec<u8>;
[INFO] [stdout]    |                             ^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                     ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:56:42
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                          ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:56:67
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                                   ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:57:53
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn is_not_test_signature_proof(signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                     ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                            ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:58:77
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                                             ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adw::subclass::prelude`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use adw::subclass::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `adw::prelude`
[INFO] [stdout]  --> src/welsib-verifier/window/mod.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use adw::prelude::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `app`
[INFO] [stdout]   --> src/welsib-verifier/main.rs:24:20
[INFO] [stdout]    |
[INFO] [stdout] 24 | fn setup_shortcuts(app: &adw::Application) {
[INFO] [stdout]    |                    ^^^ help: if this is intentional, prefix it with an underscore: `_app`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `safe_decode` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:31:4
[INFO] [stdout]    |
[INFO] [stdout] 31 | fn safe_decode(str: &String) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `vec2hex` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn vec2hex(data: Vec<u8>) -> String {
[INFO] [stdout]    |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `decode` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:46:4
[INFO] [stdout]    |
[INFO] [stdout] 46 | fn decode(str: &String) -> Vec<u8> {
[INFO] [stdout]    |    ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_init` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn digest_init();
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_update` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn digest_update(bytes: &[u8]);
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `digest_finalize` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:55:8
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn digest_finalize() -> Vec<u8>;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `activation_proof` is never used
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:52:21
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn digest(data: &[u8]) -> Vec<u8>;
[INFO] [stdout]    |                     ^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout]    = note: `#[warn(improper_ctypes)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:52:31
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn digest(data: &[u8]) -> Vec<u8>;
[INFO] [stdout]    |                               ^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `[u8]`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:54:29
[INFO] [stdout]    |
[INFO] [stdout] 54 |     fn digest_update(bytes: &[u8]);
[INFO] [stdout]    |                             ^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider using a raw pointer instead
[INFO] [stdout]    = note: slices have no C equivalent
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:55:29
[INFO] [stdout]    |
[INFO] [stdout] 55 |     fn digest_finalize() -> Vec<u8>;
[INFO] [stdout]    |                             ^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                     ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:56:42
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                          ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:56:67
[INFO] [stdout]    |
[INFO] [stdout] 56 |     fn verify(hash: &Vec<u8>, signature: &Vec<u8>, verifying_key: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                                   ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:57:53
[INFO] [stdout]    |
[INFO] [stdout] 57 |     fn is_not_test_signature_proof(signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                     ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                            ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `extern` block uses type `Vec<u8>`, which is not FFI-safe
[INFO] [stdout]   --> src/welsib-verifier/window/imp.rs:58:77
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn activation_proof(request_init_json: &Vec<u8>, multi_signature_bytes: &Vec<u8>) -> bool;
[INFO] [stdout]    |                                                                             ^^^^^^^^ not FFI-safe
[INFO] [stdout]    |
[INFO] [stdout]    = help: consider adding a `#[repr(C)]` or `#[repr(transparent)]` attribute to this struct
[INFO] [stdout]    = note: this struct has unspecified layout
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 10s
[INFO] running `Command { std: "docker" "inspect" "24512565d5729b7445113401b40a064de98187c80c91475168722af08d3d92d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "24512565d5729b7445113401b40a064de98187c80c91475168722af08d3d92d8", kill_on_drop: false }`
[INFO] [stdout] 24512565d5729b7445113401b40a064de98187c80c91475168722af08d3d92d8
