[INFO] cloning repository https://github.com/tiagotmartinez/cryptopals-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tiagotmartinez/cryptopals-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiagotmartinez%2Fcryptopals-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiagotmartinez%2Fcryptopals-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8c0fd7dbf45881e411b24666d3f0f259787d2e54
[INFO] checking tiagotmartinez/cryptopals-rs against master#bca37a20bd376ce3fd138e7cdee7fe704e0f8814 for pr-139493-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftiagotmartinez%2Fcryptopals-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/tiagotmartinez/cryptopals-rs
[INFO] finished tweaking git repo https://github.com/tiagotmartinez/cryptopals-rs
[INFO] tweaked toml for git repo https://github.com/tiagotmartinez/cryptopals-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/tiagotmartinez/cryptopals-rs on toolchain bca37a20bd376ce3fd138e7cdee7fe704e0f8814
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/tiagotmartinez/cryptopals-rs 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" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded glass_pumpkin v1.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dadf7f8b9e63b1d0fe2c8fae1e41e249ddb080966cf14e2786dd365540bb66e5
[INFO] running `Command { std: "docker" "start" "-a" "dadf7f8b9e63b1d0fe2c8fae1e41e249ddb080966cf14e2786dd365540bb66e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dadf7f8b9e63b1d0fe2c8fae1e41e249ddb080966cf14e2786dd365540bb66e5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dadf7f8b9e63b1d0fe2c8fae1e41e249ddb080966cf14e2786dd365540bb66e5", kill_on_drop: false }`
[INFO] [stdout] dadf7f8b9e63b1d0fe2c8fae1e41e249ddb080966cf14e2786dd365540bb66e5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bca37a20bd376ce3fd138e7cdee7fe704e0f8814" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8b2e7bf320903c5d49fae423c2b01e33431fb8a9221250aef1ab5c27948dcf14
[INFO] running `Command { std: "docker" "start" "-a" "8b2e7bf320903c5d49fae423c2b01e33431fb8a9221250aef1ab5c27948dcf14", kill_on_drop: false }`
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling version_check v0.9.3
[INFO] [stderr]    Compiling typenum v1.14.0
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]    Compiling libc v0.2.101
[INFO] [stderr]     Checking ppv-lite86 v0.2.9
[INFO] [stderr]     Checking cpufeatures v0.2.1
[INFO] [stderr]     Checking subtle v2.4.1
[INFO] [stderr]     Checking opaque-debug v0.3.0
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking hex v0.4.2
[INFO] [stderr]     Checking base64 v0.12.3
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling num-bigint v0.4.2
[INFO] [stderr]    Compiling num-iter v0.1.42
[INFO] [stderr]    Compiling num-rational v0.4.0
[INFO] [stderr]    Compiling generic-array v0.14.4
[INFO] [stderr]     Checking getrandom v0.2.3
[INFO] [stderr]     Checking rand_core v0.6.3
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.4
[INFO] [stderr]     Checking digest v0.9.0
[INFO] [stderr]     Checking crypto-mac v0.11.1
[INFO] [stderr]     Checking block-buffer v0.9.0
[INFO] [stderr]     Checking cipher v0.3.0
[INFO] [stderr]     Checking hmac v0.11.0
[INFO] [stderr]     Checking sha2 v0.9.8
[INFO] [stderr]     Checking num-complex v0.4.0
[INFO] [stderr]     Checking aes v0.7.5
[INFO] [stderr]     Checking glass_pumpkin v1.2.0
[INFO] [stderr]     Checking num v0.4.0
[INFO] [stderr]     Checking cryptopals v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:123:27
[INFO] [stdout]     |
[INFO] [stdout] 123 |     encipher_ecb(unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 123 |     encipher_ecb(unsafe { &raw const GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set2.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         GLOBAL_KEY.copy_from_slice(&key);
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:276:27
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let mut pt = unsafe { &PREFIX_BYTES_14 }.clone();
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let mut pt = unsafe { &raw const PREFIX_BYTES_14 }.clone();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:279:27
[INFO] [stdout]     |
[INFO] [stdout] 279 |     encipher_ecb(unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 279 |     encipher_ecb(unsafe { &raw const GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set2.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         GLOBAL_KEY.copy_from_slice(&key);
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:322:39
[INFO] [stdout]     |
[INFO] [stdout] 322 |     assert_eq!(prefix_bytes, unsafe { PREFIX_BYTES_14.len() });
[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/set2.rs:387:27
[INFO] [stdout]     |
[INFO] [stdout] 387 |     encipher_cbc(unsafe { &GLOBAL_KEY }, &ZERO_IV, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 387 |     encipher_cbc(unsafe { &raw const GLOBAL_KEY }, &ZERO_IV, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:391:50
[INFO] [stdout]     |
[INFO] [stdout] 391 |     if let Ok(pt) = unpad(&decipher_cbc(unsafe { &GLOBAL_KEY }, &ZERO_IV, query)) {
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 391 |     if let Ok(pt) = unpad(&decipher_cbc(unsafe { &raw const GLOBAL_KEY }, &ZERO_IV, query)) {
[INFO] [stdout]     |                                                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set2.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/set3.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set3.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let ct = encipher_cbc(unsafe { &GLOBAL_KEY }, &iv, &padded);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let ct = encipher_cbc(unsafe { &raw const GLOBAL_KEY }, &iv, &padded);
[INFO] [stdout]    |                                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set3.rs:48:36
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let pt = decipher_cbc(unsafe { &GLOBAL_KEY }, iv, ct);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let pt = decipher_cbc(unsafe { &raw const GLOBAL_KEY }, iv, ct);
[INFO] [stdout]    |                                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set3.rs:105:38
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert_eq!(decipher_cbc(unsafe { &GLOBAL_KEY }, &orig_iv, &ct), &pt[16..]);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert_eq!(decipher_cbc(unsafe { &raw const GLOBAL_KEY }, &orig_iv, &ct), &pt[16..]);
[INFO] [stdout]     |                                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set4.rs:48:44
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let ks = aes_ctr_keystream_at(unsafe { &GLOBAL_KEY }, 0, offset, newtext.len());
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let ks = aes_ctr_keystream_at(unsafe { &raw const GLOBAL_KEY }, 0, offset, newtext.len());
[INFO] [stdout]    |                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/set4.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set4.rs:61:39
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut cipher = aes_ctr(unsafe { &GLOBAL_KEY }, 0, &text);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut cipher = aes_ctr(unsafe { &raw const GLOBAL_KEY }, 0, &text);
[INFO] [stdout]    |                                        +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set4.rs:84:22
[INFO] [stdout]    |
[INFO] [stdout] 84 |     aes_ctr(unsafe { &GLOBAL_KEY }, 0, &pt)
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 84 |     aes_ctr(unsafe { &raw const GLOBAL_KEY }, 0, &pt)
[INFO] [stdout]    |                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set4.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let pt = aes_ctr(unsafe { &GLOBAL_KEY }, 0, query);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let pt = aes_ctr(unsafe { &raw const GLOBAL_KEY }, 0, query);
[INFO] [stdout]    |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set4.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:132:27
[INFO] [stdout]     |
[INFO] [stdout] 132 |     encipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 132 |     encipher_cbc(unsafe { &raw const GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:132:51
[INFO] [stdout]     |
[INFO] [stdout] 132 |     encipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 132 |     encipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &raw const GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                                                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let plain = decipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, query);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let plain = decipher_cbc(unsafe { &raw const GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, query);
[INFO] [stdout]     |                                        +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:138:63
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let plain = decipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, query);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let plain = decipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &raw const GLOBAL_KEY }, query);
[INFO] [stdout]     |                                                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set4.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:165:33
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(&k, unsafe { &GLOBAL_KEY });
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(&k, unsafe { &raw const GLOBAL_KEY });
[INFO] [stdout]     |                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:123:27
[INFO] [stdout]     |
[INFO] [stdout] 123 |     encipher_ecb(unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 123 |     encipher_ecb(unsafe { &raw const GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set2.rs:132:9
[INFO] [stdout]     |
[INFO] [stdout] 132 |         GLOBAL_KEY.copy_from_slice(&key);
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:276:27
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let mut pt = unsafe { &PREFIX_BYTES_14 }.clone();
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 276 |     let mut pt = unsafe { &raw const PREFIX_BYTES_14 }.clone();
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:279:27
[INFO] [stdout]     |
[INFO] [stdout] 279 |     encipher_ecb(unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 279 |     encipher_ecb(unsafe { &raw const GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set2.rs:286:9
[INFO] [stdout]     |
[INFO] [stdout] 286 |         GLOBAL_KEY.copy_from_slice(&key);
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:322:39
[INFO] [stdout]     |
[INFO] [stdout] 322 |     assert_eq!(prefix_bytes, unsafe { PREFIX_BYTES_14.len() });
[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/set2.rs:387:27
[INFO] [stdout]     |
[INFO] [stdout] 387 |     encipher_cbc(unsafe { &GLOBAL_KEY }, &ZERO_IV, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 387 |     encipher_cbc(unsafe { &raw const GLOBAL_KEY }, &ZERO_IV, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set2.rs:391:50
[INFO] [stdout]     |
[INFO] [stdout] 391 |     if let Ok(pt) = unpad(&decipher_cbc(unsafe { &GLOBAL_KEY }, &ZERO_IV, query)) {
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 391 |     if let Ok(pt) = unpad(&decipher_cbc(unsafe { &raw const GLOBAL_KEY }, &ZERO_IV, query)) {
[INFO] [stdout]     |                                                   +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set2.rs:408:9
[INFO] [stdout]     |
[INFO] [stdout] 408 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/set3.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set3.rs:42:36
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let ct = encipher_cbc(unsafe { &GLOBAL_KEY }, &iv, &padded);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 42 |     let ct = encipher_cbc(unsafe { &raw const GLOBAL_KEY }, &iv, &padded);
[INFO] [stdout]    |                                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set3.rs:48:36
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let pt = decipher_cbc(unsafe { &GLOBAL_KEY }, iv, ct);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let pt = decipher_cbc(unsafe { &raw const GLOBAL_KEY }, iv, ct);
[INFO] [stdout]    |                                     +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set3.rs:105:38
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert_eq!(decipher_cbc(unsafe { &GLOBAL_KEY }, &orig_iv, &ct), &pt[16..]);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert_eq!(decipher_cbc(unsafe { &raw const GLOBAL_KEY }, &orig_iv, &ct), &pt[16..]);
[INFO] [stdout]     |                                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set4.rs:48:44
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let ks = aes_ctr_keystream_at(unsafe { &GLOBAL_KEY }, 0, offset, newtext.len());
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 48 |     let ks = aes_ctr_keystream_at(unsafe { &raw const GLOBAL_KEY }, 0, offset, newtext.len());
[INFO] [stdout]    |                                             +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]   --> src/set4.rs:57:9
[INFO] [stdout]    |
[INFO] [stdout] 57 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set4.rs:61:39
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut cipher = aes_ctr(unsafe { &GLOBAL_KEY }, 0, &text);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let mut cipher = aes_ctr(unsafe { &raw const GLOBAL_KEY }, 0, &text);
[INFO] [stdout]    |                                        +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set4.rs:84:22
[INFO] [stdout]    |
[INFO] [stdout] 84 |     aes_ctr(unsafe { &GLOBAL_KEY }, 0, &pt)
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 84 |     aes_ctr(unsafe { &raw const GLOBAL_KEY }, 0, &pt)
[INFO] [stdout]    |                       +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]   --> src/set4.rs:89:31
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let pt = aes_ctr(unsafe { &GLOBAL_KEY }, 0, query);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]    |
[INFO] [stdout] 89 |     let pt = aes_ctr(unsafe { &raw const GLOBAL_KEY }, 0, query);
[INFO] [stdout]    |                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set4.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:132:27
[INFO] [stdout]     |
[INFO] [stdout] 132 |     encipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 132 |     encipher_cbc(unsafe { &raw const GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                            +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:132:51
[INFO] [stdout]     |
[INFO] [stdout] 132 |     encipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 132 |     encipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &raw const GLOBAL_KEY }, &pad(aes::BLOCK_SIZE, &pt))
[INFO] [stdout]     |                                                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:138:39
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let plain = decipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, query);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let plain = decipher_cbc(unsafe { &raw const GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, query);
[INFO] [stdout]     |                                        +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:138:63
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let plain = decipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &GLOBAL_KEY }, query);
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let plain = decipher_cbc(unsafe { &GLOBAL_KEY }, unsafe { &raw const GLOBAL_KEY }, query);
[INFO] [stdout]     |                                                                +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: creating a mutable reference to mutable static
[INFO] [stdout]    --> src/set4.rs:153:9
[INFO] [stdout]     |
[INFO] [stdout] 153 |         GLOBAL_KEY.copy_from_slice(&random_bytes(16));
[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: creating a shared reference to mutable static
[INFO] [stdout]    --> src/set4.rs:165:33
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(&k, unsafe { &GLOBAL_KEY });
[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] help: use `&raw const` instead to create a raw pointer
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(&k, unsafe { &raw const GLOBAL_KEY });
[INFO] [stdout]     |                                  +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [optimized + debuginfo] target(s) in 8.32s
[INFO] running `Command { std: "docker" "inspect" "8b2e7bf320903c5d49fae423c2b01e33431fb8a9221250aef1ab5c27948dcf14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b2e7bf320903c5d49fae423c2b01e33431fb8a9221250aef1ab5c27948dcf14", kill_on_drop: false }`
[INFO] [stdout] 8b2e7bf320903c5d49fae423c2b01e33431fb8a9221250aef1ab5c27948dcf14
