[INFO] fetching crate rq 0.1.2...
[INFO] testing rq-0.1.2 against 1.91.0 for beta-1.92-2
[INFO] extracting crate rq 0.1.2 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate rq 0.1.2
[INFO] finished tweaking crates.io crate rq 0.1.2
[INFO] tweaked toml for crates.io crate rq 0.1.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate rq 0.1.2 on toolchain 1.91.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 10 packages to latest compatible versions
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.91.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rq_derive v0.1.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c365d90fcd2d34b3af85a17ad864a97474a58c810411276667a3a1b37b720da6
[INFO] running `Command { std: "docker" "start" "-a" "c365d90fcd2d34b3af85a17ad864a97474a58c810411276667a3a1b37b720da6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c365d90fcd2d34b3af85a17ad864a97474a58c810411276667a3a1b37b720da6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c365d90fcd2d34b3af85a17ad864a97474a58c810411276667a3a1b37b720da6", kill_on_drop: false }`
[INFO] [stdout] c365d90fcd2d34b3af85a17ad864a97474a58c810411276667a3a1b37b720da6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7972aec42c3f527be4c4800b48fc203a4dff8bd6eba2fab3970d06ef06fc9417
[INFO] running `Command { std: "docker" "start" "-a" "7972aec42c3f527be4c4800b48fc203a4dff8bd6eba2fab3970d06ef06fc9417", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.30
[INFO] [stderr]    Compiling unicode-xid v0.1.0
[INFO] [stderr]    Compiling syn v0.15.44
[INFO] [stderr]    Compiling rq v0.1.2 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling quote v0.6.13
[INFO] [stderr]    Compiling rq_derive v0.1.2
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/btn.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | type CbClicked = Arc<Mutex<FnMut(&mut Btn, bool)>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | type CbClicked = Arc<Mutex<dyn FnMut(&mut Btn, bool)>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | type CbOnAbout = Arc<Mutex<FnMut(&mut Win)>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | type CbOnAbout = Arc<Mutex<dyn FnMut(&mut Win)>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | type CbOnFirstShow = Arc<Mutex<FnMut(&mut Win)>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | type CbOnFirstShow = Arc<Mutex<dyn FnMut(&mut Win)>>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | type CbOnClose = Arc<Mutex<FnMut(&mut Win) -> bool>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 | type CbOnClose = Arc<Mutex<dyn FnMut(&mut Win) -> bool>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | type CbOnLogMsg = Arc<Mutex<FnMut(&mut Win, &str)>>;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | type CbOnLogMsg = Arc<Mutex<dyn FnMut(&mut Win, &str)>>;
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/boxl.rs:70:31
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn add(&mut self, w: &WgtObj) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn add(&mut self, w: &dyn WgtObj) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/grid.rs:49:31
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn add(&mut self, w: &WgtObj, row: u32, col: u32) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn add(&mut self, w: &dyn WgtObj, row: u32, col: u32) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/splt.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn add(&mut self, w: &WgtObj) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn add(&mut self, w: &dyn WgtObj) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/mod.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn as_obj(&self) -> &WgtObj {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn as_obj(&self) -> &dyn WgtObj {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wgt/mod.rs:103:56
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     $(Wgt::$Var(bx) => bx.as_ref() as &WgtObj,)*
[INFO] [stdout]     |                                                        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |         as_obj!([Btn, DlgAbout, Lbl, Menu, MenuBar, Win])
[INFO] [stdout]     |         ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `as_obj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         assert!(APP_H.is_none());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |         assert!(WINS.is_none());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         assert!(APP_H.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:90:23
[INFO] [stdout]    |
[INFO] [stdout] 90 |         cql::app_exec(APP_H.as_ref().unwrap().ch());
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |         assert!(APP_H.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |         assert!(WINS.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app.rs:103:23
[INFO] [stdout]     |
[INFO] [stdout] 103 |         cql::app_free(APP_H.as_ref().unwrap().take());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         WINS.as_mut().unwrap().push(wrc);
[INFO] [stdout]     |         ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 09s
[INFO] running `Command { std: "docker" "inspect" "7972aec42c3f527be4c4800b48fc203a4dff8bd6eba2fab3970d06ef06fc9417", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7972aec42c3f527be4c4800b48fc203a4dff8bd6eba2fab3970d06ef06fc9417", kill_on_drop: false }`
[INFO] [stdout] 7972aec42c3f527be4c4800b48fc203a4dff8bd6eba2fab3970d06ef06fc9417
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2c32f236835c05abf059bf188c8be84293079d9a6d2739af6bf80e369fee1b86
[INFO] running `Command { std: "docker" "start" "-a" "2c32f236835c05abf059bf188c8be84293079d9a6d2739af6bf80e369fee1b86", kill_on_drop: false }`
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/btn.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | type CbClicked = Arc<Mutex<FnMut(&mut Btn, bool)>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | type CbClicked = Arc<Mutex<dyn FnMut(&mut Btn, bool)>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | type CbOnAbout = Arc<Mutex<FnMut(&mut Win)>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | type CbOnAbout = Arc<Mutex<dyn FnMut(&mut Win)>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | type CbOnFirstShow = Arc<Mutex<FnMut(&mut Win)>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | type CbOnFirstShow = Arc<Mutex<dyn FnMut(&mut Win)>>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | type CbOnClose = Arc<Mutex<FnMut(&mut Win) -> bool>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 | type CbOnClose = Arc<Mutex<dyn FnMut(&mut Win) -> bool>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | type CbOnLogMsg = Arc<Mutex<FnMut(&mut Win, &str)>>;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | type CbOnLogMsg = Arc<Mutex<dyn FnMut(&mut Win, &str)>>;
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/boxl.rs:70:31
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn add(&mut self, w: &WgtObj) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn add(&mut self, w: &dyn WgtObj) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/grid.rs:49:31
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn add(&mut self, w: &WgtObj, row: u32, col: u32) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn add(&mut self, w: &dyn WgtObj, row: u32, col: u32) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/splt.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn add(&mut self, w: &WgtObj) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn add(&mut self, w: &dyn WgtObj) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/mod.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn as_obj(&self) -> &WgtObj {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn as_obj(&self) -> &dyn WgtObj {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling rq v0.1.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wgt/mod.rs:103:56
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     $(Wgt::$Var(bx) => bx.as_ref() as &WgtObj,)*
[INFO] [stdout]     |                                                        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |         as_obj!([Btn, DlgAbout, Lbl, Menu, MenuBar, Win])
[INFO] [stdout]     |         ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `as_obj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         assert!(APP_H.is_none());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |         assert!(WINS.is_none());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         assert!(APP_H.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:90:23
[INFO] [stdout]    |
[INFO] [stdout] 90 |         cql::app_exec(APP_H.as_ref().unwrap().ch());
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |         assert!(APP_H.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |         assert!(WINS.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app.rs:103:23
[INFO] [stdout]     |
[INFO] [stdout] 103 |         cql::app_free(APP_H.as_ref().unwrap().take());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         WINS.as_mut().unwrap().push(wrc);
[INFO] [stdout]     |         ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/btn.rs:13:28
[INFO] [stdout]    |
[INFO] [stdout] 13 | type CbClicked = Arc<Mutex<FnMut(&mut Btn, bool)>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | type CbClicked = Arc<Mutex<dyn FnMut(&mut Btn, bool)>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:19:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | type CbOnAbout = Arc<Mutex<FnMut(&mut Win)>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 19 | type CbOnAbout = Arc<Mutex<dyn FnMut(&mut Win)>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:20:32
[INFO] [stdout]    |
[INFO] [stdout] 20 | type CbOnFirstShow = Arc<Mutex<FnMut(&mut Win)>>;
[INFO] [stdout]    |                                ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 20 | type CbOnFirstShow = Arc<Mutex<dyn FnMut(&mut Win)>>;
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:21:28
[INFO] [stdout]    |
[INFO] [stdout] 21 | type CbOnClose = Arc<Mutex<FnMut(&mut Win) -> bool>>;
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 21 | type CbOnClose = Arc<Mutex<dyn FnMut(&mut Win) -> bool>>;
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/win.rs:22:29
[INFO] [stdout]    |
[INFO] [stdout] 22 | type CbOnLogMsg = Arc<Mutex<FnMut(&mut Win, &str)>>;
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 22 | type CbOnLogMsg = Arc<Mutex<dyn FnMut(&mut Win, &str)>>;
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/boxl.rs:70:31
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn add(&mut self, w: &WgtObj) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 70 |     pub fn add(&mut self, w: &dyn WgtObj) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/grid.rs:49:31
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn add(&mut self, w: &WgtObj, row: u32, col: u32) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn add(&mut self, w: &dyn WgtObj, row: u32, col: u32) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/layout/splt.rs:34:31
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn add(&mut self, w: &WgtObj) {
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub fn add(&mut self, w: &dyn WgtObj) {
[INFO] [stdout]    |                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/wgt/mod.rs:99:30
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn as_obj(&self) -> &WgtObj {
[INFO] [stdout]    |                              ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 99 |     pub fn as_obj(&self) -> &dyn WgtObj {
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/wgt/mod.rs:103:56
[INFO] [stdout]     |
[INFO] [stdout] 103 |                     $(Wgt::$Var(bx) => bx.as_ref() as &WgtObj,)*
[INFO] [stdout]     |                                                        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |         as_obj!([Btn, DlgAbout, Lbl, Menu, MenuBar, Win])
[INFO] [stdout]     |         ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: this warning originates in the macro `as_obj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]   --> src/cql/bind.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |             &(*(::std::ptr::null::<x_cbVoid>())).obj as *const _ as usize
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deref_nullptr)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]   --> src/cql/bind.rs:55:19
[INFO] [stdout]    |
[INFO] [stdout] 55 |         unsafe { &(*(::std::ptr::null::<x_cbVoid>())).cb as *const _ as usize },
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]   --> src/cql/bind.rs:85:14
[INFO] [stdout]    |
[INFO] [stdout] 85 |             &(*(::std::ptr::null::<x_cbBool>())).obj as *const _ as usize
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]   --> src/cql/bind.rs:96:19
[INFO] [stdout]    |
[INFO] [stdout] 96 |         unsafe { &(*(::std::ptr::null::<x_cbBool>())).cb as *const _ as usize },
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/cql/bind.rs:126:14
[INFO] [stdout]     |
[INFO] [stdout] 126 |             &(*(::std::ptr::null::<x_cbCstr>())).obj as *const _ as usize
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/cql/bind.rs:137:19
[INFO] [stdout]     |
[INFO] [stdout] 137 |         unsafe { &(*(::std::ptr::null::<x_cbCstr>())).cb as *const _ as usize },
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/cql/bind.rs:167:14
[INFO] [stdout]     |
[INFO] [stdout] 167 |             &(*(::std::ptr::null::<x_cbVoidToBool>())).obj as *const _ as usize
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/cql/bind.rs:179:14
[INFO] [stdout]     |
[INFO] [stdout] 179 |             &(*(::std::ptr::null::<x_cbVoidToBool>())).cb as *const _ as usize
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/cql/bind.rs:212:19
[INFO] [stdout]     |
[INFO] [stdout] 212 |         unsafe { &(*(::std::ptr::null::<ij_t>())).i as *const _ as usize },
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: dereferencing a null pointer
[INFO] [stdout]    --> src/cql/bind.rs:217:19
[INFO] [stdout]     |
[INFO] [stdout] 217 |         unsafe { &(*(::std::ptr::null::<ij_t>())).j as *const _ as usize },
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:69:17
[INFO] [stdout]    |
[INFO] [stdout] 69 |         assert!(APP_H.is_none());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:70:17
[INFO] [stdout]    |
[INFO] [stdout] 70 |         assert!(WINS.is_none());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |         assert!(APP_H.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:90:23
[INFO] [stdout]    |
[INFO] [stdout] 90 |         cql::app_exec(APP_H.as_ref().unwrap().ch());
[INFO] [stdout]    |                       ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:97:17
[INFO] [stdout]    |
[INFO] [stdout] 97 |         assert!(APP_H.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/app.rs:98:17
[INFO] [stdout]    |
[INFO] [stdout] 98 |         assert!(WINS.is_some());
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]    |
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/app.rs:103:23
[INFO] [stdout]     |
[INFO] [stdout] 103 |         cql::app_free(APP_H.as_ref().unwrap().take());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/app.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |         WINS.as_mut().unwrap().push(wrc);
[INFO] [stdout]     |         ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stdout]     |
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stdout]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.11s
[INFO] running `Command { std: "docker" "inspect" "2c32f236835c05abf059bf188c8be84293079d9a6d2739af6bf80e369fee1b86", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2c32f236835c05abf059bf188c8be84293079d9a6d2739af6bf80e369fee1b86", kill_on_drop: false }`
[INFO] [stdout] 2c32f236835c05abf059bf188c8be84293079d9a6d2739af6bf80e369fee1b86
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1.91.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5376fb6c0ed744672f17ea83d6f5dd552633b01d7d0cd968af443f224e25cb9b
[INFO] running `Command { std: "docker" "start" "-a" "5376fb6c0ed744672f17ea83d6f5dd552633b01d7d0cd968af443f224e25cb9b", kill_on_drop: false }`
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wgt/btn.rs:13:28
[INFO] [stderr]    |
[INFO] [stderr] 13 | type CbClicked = Arc<Mutex<FnMut(&mut Btn, bool)>>;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` (part of `#[warn(rust_2021_compatibility)]`) on by default
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 13 | type CbClicked = Arc<Mutex<dyn FnMut(&mut Btn, bool)>>;
[INFO] [stderr]    |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wgt/win.rs:19:28
[INFO] [stderr]    |
[INFO] [stderr] 19 | type CbOnAbout = Arc<Mutex<FnMut(&mut Win)>>;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 19 | type CbOnAbout = Arc<Mutex<dyn FnMut(&mut Win)>>;
[INFO] [stderr]    |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wgt/win.rs:20:32
[INFO] [stderr]    |
[INFO] [stderr] 20 | type CbOnFirstShow = Arc<Mutex<FnMut(&mut Win)>>;
[INFO] [stderr]    |                                ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 20 | type CbOnFirstShow = Arc<Mutex<dyn FnMut(&mut Win)>>;
[INFO] [stderr]    |                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wgt/win.rs:21:28
[INFO] [stderr]    |
[INFO] [stderr] 21 | type CbOnClose = Arc<Mutex<FnMut(&mut Win) -> bool>>;
[INFO] [stderr]    |                            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 21 | type CbOnClose = Arc<Mutex<dyn FnMut(&mut Win) -> bool>>;
[INFO] [stderr]    |                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wgt/win.rs:22:29
[INFO] [stderr]    |
[INFO] [stderr] 22 | type CbOnLogMsg = Arc<Mutex<FnMut(&mut Win, &str)>>;
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 22 | type CbOnLogMsg = Arc<Mutex<dyn FnMut(&mut Win, &str)>>;
[INFO] [stderr]    |                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/layout/boxl.rs:70:31
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn add(&mut self, w: &WgtObj) {
[INFO] [stderr]    |                               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 70 |     pub fn add(&mut self, w: &dyn WgtObj) {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/layout/grid.rs:49:31
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn add(&mut self, w: &WgtObj, row: u32, col: u32) {
[INFO] [stderr]    |                               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn add(&mut self, w: &dyn WgtObj, row: u32, col: u32) {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/layout/splt.rs:34:31
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn add(&mut self, w: &WgtObj) {
[INFO] [stderr]    |                               ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub fn add(&mut self, w: &dyn WgtObj) {
[INFO] [stderr]    |                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/wgt/mod.rs:99:30
[INFO] [stderr]    |
[INFO] [stderr] 99 |     pub fn as_obj(&self) -> &WgtObj {
[INFO] [stderr]    |                              ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: if this is a dyn-compatible trait, use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 99 |     pub fn as_obj(&self) -> &dyn WgtObj {
[INFO] [stderr]    |                              +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/wgt/mod.rs:103:56
[INFO] [stderr]     |
[INFO] [stderr] 103 |                     $(Wgt::$Var(bx) => bx.as_ref() as &WgtObj,)*
[INFO] [stderr]     |                                                        ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 107 |         as_obj!([Btn, DlgAbout, Lbl, Menu, MenuBar, Win])
[INFO] [stderr]     |         ------------------------------------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]     = note: this warning originates in the macro `as_obj` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/app.rs:69:17
[INFO] [stderr]    |
[INFO] [stderr] 69 |         assert!(APP_H.is_none());
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr]    = note: `#[warn(static_mut_refs)]` (part of `#[warn(rust_2024_compatibility)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/app.rs:70:17
[INFO] [stderr]    |
[INFO] [stderr] 70 |         assert!(WINS.is_none());
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/app.rs:89:17
[INFO] [stderr]    |
[INFO] [stderr] 89 |         assert!(APP_H.is_some());
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/app.rs:90:23
[INFO] [stderr]    |
[INFO] [stderr] 90 |         cql::app_exec(APP_H.as_ref().unwrap().ch());
[INFO] [stderr]    |                       ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/app.rs:97:17
[INFO] [stderr]    |
[INFO] [stderr] 97 |         assert!(APP_H.is_some());
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]   --> src/app.rs:98:17
[INFO] [stderr]    |
[INFO] [stderr] 98 |         assert!(WINS.is_some());
[INFO] [stderr]    |                 ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]    |
[INFO] [stderr]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]    = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a shared reference to mutable static
[INFO] [stderr]    --> src/app.rs:103:23
[INFO] [stderr]     |
[INFO] [stderr] 103 |         cql::app_free(APP_H.as_ref().unwrap().take());
[INFO] [stderr]     |                       ^^^^^^^^^^^^^^ shared reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: shared references to mutable statics are dangerous; it's undefined behavior if the static is mutated or if a mutable reference is created for it while the shared reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: creating a mutable reference to mutable static
[INFO] [stderr]    --> src/app.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 110 |         WINS.as_mut().unwrap().push(wrc);
[INFO] [stderr]     |         ^^^^^^^^^^^^^ mutable reference to mutable static
[INFO] [stderr]     |
[INFO] [stderr]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/static-mut-references.html>
[INFO] [stderr]     = note: mutable references to mutable statics are dangerous; it's undefined behavior if any other pointer to the static is used or if any other reference is created for the static while the mutable reference lives
[INFO] [stderr] 
[INFO] [stderr] warning: `rq` (lib) generated 18 warnings (run `cargo fix --lib -p rq` to apply 9 suggestions)
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]   --> src/cql/bind.rs:44:14
[INFO] [stderr]    |
[INFO] [stderr] 44 |             &(*(::std::ptr::null::<x_cbVoid>())).obj as *const _ as usize
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deref_nullptr)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]   --> src/cql/bind.rs:55:19
[INFO] [stderr]    |
[INFO] [stderr] 55 |         unsafe { &(*(::std::ptr::null::<x_cbVoid>())).cb as *const _ as usize },
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]   --> src/cql/bind.rs:85:14
[INFO] [stderr]    |
[INFO] [stderr] 85 |             &(*(::std::ptr::null::<x_cbBool>())).obj as *const _ as usize
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]   --> src/cql/bind.rs:96:19
[INFO] [stderr]    |
[INFO] [stderr] 96 |         unsafe { &(*(::std::ptr::null::<x_cbBool>())).cb as *const _ as usize },
[INFO] [stderr]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]    --> src/cql/bind.rs:126:14
[INFO] [stderr]     |
[INFO] [stderr] 126 |             &(*(::std::ptr::null::<x_cbCstr>())).obj as *const _ as usize
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]    --> src/cql/bind.rs:137:19
[INFO] [stderr]     |
[INFO] [stderr] 137 |         unsafe { &(*(::std::ptr::null::<x_cbCstr>())).cb as *const _ as usize },
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]    --> src/cql/bind.rs:167:14
[INFO] [stderr]     |
[INFO] [stderr] 167 |             &(*(::std::ptr::null::<x_cbVoidToBool>())).obj as *const _ as usize
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]    --> src/cql/bind.rs:179:14
[INFO] [stderr]     |
[INFO] [stderr] 179 |             &(*(::std::ptr::null::<x_cbVoidToBool>())).cb as *const _ as usize
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]    --> src/cql/bind.rs:212:19
[INFO] [stderr]     |
[INFO] [stderr] 212 |         unsafe { &(*(::std::ptr::null::<ij_t>())).i as *const _ as usize },
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: dereferencing a null pointer
[INFO] [stderr]    --> src/cql/bind.rs:217:19
[INFO] [stderr]     |
[INFO] [stderr] 217 |         unsafe { &(*(::std::ptr::null::<ij_t>())).j as *const _ as usize },
[INFO] [stderr]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this code causes undefined behavior when executed
[INFO] [stderr] 
[INFO] [stderr] warning: `rq` (lib test) generated 28 warnings (18 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rq-52aadbcdc812de99)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stderr] 
[INFO] [stderr] thread 'cql::bind::bindgen_test_layout_ij_t' (16) panicked at src/cql/bind.rs:212:18:
[INFO] [stderr] null pointer dereference occurred
[INFO] [stderr] stack backtrace:
[INFO] [stderr]    0:     0x5a0bc2fe66b2 - std::backtrace_rs::backtrace::libunwind::trace::h62f3c6bea0fedab3
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stderr]    1:     0x5a0bc2fe66b2 - std::backtrace_rs::backtrace::trace_unsynchronized::hc41aaca6c0af0bde
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stderr]    2:     0x5a0bc2fe66b2 - std::sys::backtrace::_print_fmt::h33ac2b97007106cc
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stderr]    3:     0x5a0bc2fe66b2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h4e0a3aeea0f9c085
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stderr]    4:     0x5a0bc2ff67ef - core::fmt::rt::Argument::fmt::h1edd6a3e00b22f10
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/fmt/rt.rs:173:76
[INFO] [stderr]    5:     0x5a0bc2ff67ef - core::fmt::write::hecf68a131630c74d
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/fmt/mod.rs:1468:25
[INFO] [stderr]    6:     0x5a0bc2fb3ab1 - std::io::default_write_fmt::haf8355dc2afbec95
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/io/mod.rs:639:11
[INFO] [stderr]    7:     0x5a0bc2fb3ab1 - std::io::Write::write_fmt::h93c9a261259c931a
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/io/mod.rs:1954:13
[INFO] [stderr]    8:     0x5a0bc2fbfcd2 - std::sys::backtrace::BacktraceLock::print::h75160192768e5621
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stderr]    9:     0x5a0bc2fc481f - std::panicking::default_hook::{{closure}}::h14d82797cfb1ddcb
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:301:27
[INFO] [stderr]   10:     0x5a0bc2fc4679 - std::panicking::default_hook::h63f9bf8161c5d325
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:328:9
[INFO] [stderr]   11:     0x5a0bc2f8537e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hb8126f8384f98101
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1999:9
[INFO] [stderr]   12:     0x5a0bc2f8537e - test::test_main_with_exit_callback::{{closure}}::hae96ae0cd2f2ce70
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:145:21
[INFO] [stderr]   13:     0x5a0bc2fc4edf - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::ha703f6686c81d0c6
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1999:9
[INFO] [stderr]   14:     0x5a0bc2fc4edf - std::panicking::panic_with_hook::h3173740e06bd0752
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:842:13
[INFO] [stderr]   15:     0x5a0bc2fc4d06 - std::panicking::panic_handler::{{closure}}::hbac492c61eb56a87
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:700:13
[INFO] [stderr]   16:     0x5a0bc2fbfe09 - std::sys::backtrace::__rust_end_short_backtrace::haa3eac3df9535320
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stderr]   17:     0x5a0bc2fa823d - __rustc[de0091b922c53d7e]::rust_begin_unwind
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:698:5
[INFO] [stderr]   18:     0x5a0bc2ffddcd - core::panicking::panic_nounwind_fmt::runtime::he6eac78ff6d199a6
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panicking.rs:117:22
[INFO] [stderr]   19:     0x5a0bc2ffddcd - core::panicking::panic_nounwind_fmt::hf2634cf9a3927743
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/intrinsics/mod.rs:2435:9
[INFO] [stderr]   20:     0x5a0bc2ffdfad - core::panicking::panic_null_pointer_dereference::h31de3114975fc25a
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panicking.rs:302:5
[INFO] [stderr]   21:     0x5a0bc2f627f3 - rq::cql::bind::bindgen_test_layout_ij_t::h488129f327cc187b
[INFO] [stderr]                                at /opt/rustwide/workdir/src/cql/bind.rs:212:18
[INFO] [stderr]   22:     0x5a0bc2f62957 - rq::cql::bind::bindgen_test_layout_ij_t::{{closure}}::hee8828274b30737f
[INFO] [stderr]                                at /opt/rustwide/workdir/src/cql/bind.rs:200:30
[INFO] [stderr]   23:     0x5a0bc2f63816 - core::ops::function::FnOnce::call_once::hd487d75099a4f2ca
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   24:     0x5a0bc2f8515b - core::ops::function::FnOnce::call_once::h8f50ae93d93b62b4
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   25:     0x5a0bc2f8515b - test::__rust_begin_short_backtrace::h447963718d05a644
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:663:18
[INFO] [stderr]   26:     0x5a0bc2f9ad95 - test::run_test_in_process::{{closure}}::hf890ba4755ca86c0
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:686:74
[INFO] [stderr]   27:     0x5a0bc2f9ad95 - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h31e4b2860e583faa
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   28:     0x5a0bc2f9ad95 - std::panicking::catch_unwind::do_call::hec7cdbbe797e2cab
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40
[INFO] [stderr]   29:     0x5a0bc2f9ad95 - std::panicking::catch_unwind::h24d3b93458b5ba67
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19
[INFO] [stderr]   30:     0x5a0bc2f9ad95 - std::panic::catch_unwind::h46eeec7cf9c9336c
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14
[INFO] [stderr]   31:     0x5a0bc2f9ad95 - test::run_test_in_process::h290de6e559006104
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:686:27
[INFO] [stderr]   32:     0x5a0bc2f9ad95 - test::run_test::{{closure}}::h26eeb2c5f7e9a995
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:607:43
[INFO] [stderr]   33:     0x5a0bc2f71594 - test::run_test::{{closure}}::h85af00882daabeaa
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/test/src/lib.rs:637:41
[INFO] [stderr]   34:     0x5a0bc2f71594 - std::sys::backtrace::__rust_begin_short_backtrace::h9d9305dda51fa5f2
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stderr]   35:     0x5a0bc2f74f3a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::hc6aada8b43f0527b
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/thread/mod.rs:559:17
[INFO] [stderr]   36:     0x5a0bc2f74f3a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::ha89fe5505c1206f5
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stderr]   37:     0x5a0bc2f74f3a - std::panicking::catch_unwind::do_call::he3e0bef721d99583
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:590:40
[INFO] [stderr]   38:     0x5a0bc2f74f3a - std::panicking::catch_unwind::ha8241964d3d773cd
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panicking.rs:553:19
[INFO] [stderr]   39:     0x5a0bc2f74f3a - std::panic::catch_unwind::ha8554bc7696cae72
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/panic.rs:359:14
[INFO] [stderr]   40:     0x5a0bc2f74f3a - std::thread::Builder::spawn_unchecked_::{{closure}}::he06f1f62b4c90f8d
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/thread/mod.rs:557:30
[INFO] [stderr]   41:     0x5a0bc2f74f3a - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha7fd20ecae19b9b9
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/core/src/ops/function.rs:250:5
[INFO] [stderr]   42:     0x5a0bc2fbafff - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h43642ed9c40e0ab2
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/alloc/src/boxed.rs:1985:9
[INFO] [stderr]   43:     0x5a0bc2fbafff - std::sys::thread::unix::Thread::new::thread_start::h38da0f633f090ce2
[INFO] [stderr]                                at /rustc/f8297e351a40c1439a467bbbb6879088047f50b3/library/std/src/sys/thread/unix.rs:126:17
[INFO] [stderr]   44:     0x70d70ab58aa4 - <unknown>
[INFO] [stderr]   45:     0x70d70abe5a64 - clone
[INFO] [stderr]   46:                0x0 - <unknown>
[INFO] [stderr] thread caused non-unwinding panic. aborting.
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `/opt/rustwide/target/debug/deps/rq-52aadbcdc812de99` (signal: 6, SIGABRT: process abort signal)
[INFO] running `Command { std: "docker" "inspect" "5376fb6c0ed744672f17ea83d6f5dd552633b01d7d0cd968af443f224e25cb9b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5376fb6c0ed744672f17ea83d6f5dd552633b01d7d0cd968af443f224e25cb9b", kill_on_drop: false }`
[INFO] [stdout] 5376fb6c0ed744672f17ea83d6f5dd552633b01d7d0cd968af443f224e25cb9b
