[INFO] fetching crate dds 0.2.0...
[INFO] checking dds-0.2.0 against try#943e2200e35c3825486c4671b6cab0107a07f8c1 for pr-148952
[INFO] extracting crate dds 0.2.0 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate dds 0.2.0
[INFO] finished tweaking crates.io crate dds 0.2.0
[INFO] tweaked toml for crates.io crate dds 0.2.0 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate dds 0.2.0 on toolchain 943e2200e35c3825486c4671b6cab0107a07f8c1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate dds 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 195eea94ccced43a5a2fb1757eb3ac20e0a4903e41b33fdfcbf6dab84acf01e1
[INFO] running `Command { std: "docker" "start" "-a" "195eea94ccced43a5a2fb1757eb3ac20e0a4903e41b33fdfcbf6dab84acf01e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "195eea94ccced43a5a2fb1757eb3ac20e0a4903e41b33fdfcbf6dab84acf01e1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "195eea94ccced43a5a2fb1757eb3ac20e0a4903e41b33fdfcbf6dab84acf01e1", kill_on_drop: false }`
[INFO] [stdout] 195eea94ccced43a5a2fb1757eb3ac20e0a4903e41b33fdfcbf6dab84acf01e1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+943e2200e35c3825486c4671b6cab0107a07f8c1" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f93fcbd306d736ef6215cbe0015ace89b72d34f130210a8ce5504657e0ec5beb
[INFO] running `Command { std: "docker" "start" "-a" "f93fcbd306d736ef6215cbe0015ace89b72d34f130210a8ce5504657e0ec5beb", kill_on_drop: false }`
[INFO] [stderr]     Checking clap_builder v4.5.51
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking resize v0.8.8
[INFO] [stderr]     Checking glam v0.25.0
[INFO] [stderr]     Checking astc-decode v0.3.1
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking png v0.17.16
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]     Checking clap v4.5.51
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking dds v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 113 |    pub(crate) const ASTC_4X4_UNORM: DecoderSet = astc!(4, 4);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 114 |    pub(crate) const ASTC_5X4_UNORM: DecoderSet = astc!(5, 4);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 115 |    pub(crate) const ASTC_5X5_UNORM: DecoderSet = astc!(5, 5);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 116 |    pub(crate) const ASTC_6X5_UNORM: DecoderSet = astc!(6, 5);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 117 |    pub(crate) const ASTC_6X6_UNORM: DecoderSet = astc!(6, 6);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 118 |    pub(crate) const ASTC_8X5_UNORM: DecoderSet = astc!(8, 5);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 119 |    pub(crate) const ASTC_8X6_UNORM: DecoderSet = astc!(8, 6);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 120 |    pub(crate) const ASTC_8X8_UNORM: DecoderSet = astc!(8, 8);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 121 |    pub(crate) const ASTC_10X5_UNORM: DecoderSet = astc!(10, 5);
[INFO] [stdout]     |                                                   ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 122 |    pub(crate) const ASTC_10X6_UNORM: DecoderSet = astc!(10, 6);
[INFO] [stdout]     |                                                   ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 123 |    pub(crate) const ASTC_10X8_UNORM: DecoderSet = astc!(10, 8);
[INFO] [stdout]     |                                                   ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 124 |    pub(crate) const ASTC_10X10_UNORM: DecoderSet = astc!(10, 10);
[INFO] [stdout]     |                                                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 125 |    pub(crate) const ASTC_12X10_UNORM: DecoderSet = astc!(12, 10);
[INFO] [stdout]     |                                                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 126 |    pub(crate) const ASTC_12X12_UNORM: DecoderSet = astc!(12, 12);
[INFO] [stdout]     |                                                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bc.rs:83:59
[INFO] [stdout]    |
[INFO] [stdout] 83 |    pub(crate) const BC1_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   __________________________________________-                ^
[INFO] [stdout]    |  |___________________________________________________________|
[INFO] [stdout] 84 | ||     rgba!(u8, 8, blocks::bc1_u8_rgba),
[INFO] [stdout] 85 | ||     rgba!(u16, 8, with_precision(blocks::bc1_u8_rgba)),
[INFO] [stdout] 86 | ||     rgba!(f32, 8, with_precision(blocks::bc1_u8_rgba)),
[INFO] [stdout] 87 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bc.rs:89:59
[INFO] [stdout]    |
[INFO] [stdout] 89 |    pub(crate) const BC2_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   __________________________________________-                ^
[INFO] [stdout]    |  |___________________________________________________________|
[INFO] [stdout] 90 | ||     rgba!(u8, 16, blocks::bc2_u8_rgba),
[INFO] [stdout] 91 | ||     rgba!(u16, 16, with_precision(blocks::bc2_u8_rgba)),
[INFO] [stdout] 92 | ||     rgba!(f32, 16, with_precision(blocks::bc2_u8_rgba)),
[INFO] [stdout] ...  ||
[INFO] [stdout] 95 | ||     rgb!(f32, 16, with_precision(blocks::bc2_u8_rgb)),
[INFO] [stdout] 96 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:98:79
[INFO] [stdout]     |
[INFO] [stdout]  98 |    pub(crate) const BC2_UNORM_PREMULTIPLIED_ALPHA: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ______________________________________________________________-                ^
[INFO] [stdout]     |  |_______________________________________________________________________________|
[INFO] [stdout]  99 | ||     rgba!(u8, 16, blocks::bc2_premultiplied_alpha_u8_rgba),
[INFO] [stdout] 100 | ||     rgba!(
[INFO] [stdout] 101 | ||         u16,
[INFO] [stdout] ...   ||
[INFO] [stdout] 109 | ||     ),
[INFO] [stdout] 110 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:112:59
[INFO] [stdout]     |
[INFO] [stdout] 112 |    pub(crate) const BC3_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 113 | ||     rgba!(u8, 16, blocks::bc3_u8_rgba),
[INFO] [stdout] 114 | ||     rgba!(u16, 16, with_precision(blocks::bc3_u8_rgba)),
[INFO] [stdout] 115 | ||     rgba!(f32, 16, with_precision(blocks::bc3_u8_rgba)),
[INFO] [stdout] ...   ||
[INFO] [stdout] 118 | ||     rgb!(f32, 16, with_precision(blocks::bc3_u8_rgb)),
[INFO] [stdout] 119 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:121:79
[INFO] [stdout]     |
[INFO] [stdout] 121 |    pub(crate) const BC3_UNORM_PREMULTIPLIED_ALPHA: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ______________________________________________________________-                ^
[INFO] [stdout]     |  |_______________________________________________________________________________|
[INFO] [stdout] 122 | ||     rgba!(u8, 16, blocks::bc3_premultiplied_alpha_u8_rgba),
[INFO] [stdout] 123 | ||     rgba!(
[INFO] [stdout] 124 | ||         u16,
[INFO] [stdout] ...   ||
[INFO] [stdout] 132 | ||     ),
[INFO] [stdout] 133 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:135:64
[INFO] [stdout]     |
[INFO] [stdout] 135 |    pub(crate) const BC3_UNORM_RXGB: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 136 | ||     rgb!(u8, 16, blocks::bc3_rxgb_u8_rgb),
[INFO] [stdout] 137 | ||     rgb!(u16, 16, with_precision(blocks::bc3_rxgb_u8_rgb)),
[INFO] [stdout] 138 | ||     rgb!(f32, 16, with_precision(blocks::bc3_rxgb_u8_rgb)),
[INFO] [stdout] 139 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:141:66
[INFO] [stdout]     |
[INFO] [stdout] 141 |    pub(crate) const BC3_UNORM_NORMAL: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________________|
[INFO] [stdout] 142 | ||     rgb!(u8, 16, blocks::bc3n_u8_rgb),
[INFO] [stdout] 143 | ||     rgb!(u16, 16, with_precision(blocks::bc3n_u8_rgb)),
[INFO] [stdout] 144 | ||     rgb!(f32, 16, with_precision(blocks::bc3n_u8_rgb)),
[INFO] [stdout] 145 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:147:59
[INFO] [stdout]     |
[INFO] [stdout] 147 |    pub(crate) const BC4_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 148 | ||     gray!(u8, 8, blocks::bc4u_gray),
[INFO] [stdout] 149 | ||     gray!(u16, 8, blocks::bc4u_gray),
[INFO] [stdout] 150 | ||     gray!(f32, 8, blocks::bc4u_gray),
[INFO] [stdout] 151 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |    pub(crate) const BC4_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 154 | ||     gray!(u8, 8, blocks::bc4s_gray),
[INFO] [stdout] 155 | ||     gray!(u16, 8, blocks::bc4s_gray),
[INFO] [stdout] 156 | ||     gray!(f32, 8, blocks::bc4s_gray),
[INFO] [stdout] 157 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:159:59
[INFO] [stdout]     |
[INFO] [stdout] 159 |    pub(crate) const BC5_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 160 | ||     rgb!(u8, 16, blocks::bc5u_rgb),
[INFO] [stdout] 161 | ||     rgb!(u16, 16, blocks::bc5u_rgb),
[INFO] [stdout] 162 | ||     rgb!(f32, 16, blocks::bc5u_rgb),
[INFO] [stdout] 163 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:165:59
[INFO] [stdout]     |
[INFO] [stdout] 165 |    pub(crate) const BC5_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 166 | ||     rgb!(u8, 16, blocks::bc5s_rgb),
[INFO] [stdout] 167 | ||     rgb!(u16, 16, blocks::bc5s_rgb),
[INFO] [stdout] 168 | ||     rgb!(f32, 16, blocks::bc5s_rgb),
[INFO] [stdout] 169 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:171:59
[INFO] [stdout]     |
[INFO] [stdout] 171 |    pub(crate) const BC6H_UF16: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 172 | ||     rgb!(f32, 16, blocks::bc6_u_f32),
[INFO] [stdout] 173 | ||     rgb!(u16, 16, blocks::bc6_u_u16),
[INFO] [stdout] 174 | ||     rgb!(u8, 16, blocks::bc6_u_u8),
[INFO] [stdout] 175 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:176:59
[INFO] [stdout]     |
[INFO] [stdout] 176 |    pub(crate) const BC6H_SF16: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 177 | ||     rgb!(f32, 16, blocks::bc6_s_f32),
[INFO] [stdout] 178 | ||     rgb!(u16, 16, blocks::bc6_s_u16),
[INFO] [stdout] 179 | ||     rgb!(u8, 16, blocks::bc6_s_u8),
[INFO] [stdout] 180 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:182:59
[INFO] [stdout]     |
[INFO] [stdout] 182 |    pub(crate) const BC7_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 183 | ||     rgba!(u8, 16, blocks::bc7_u8_rgba),
[INFO] [stdout] 184 | ||     rgba!(u16, 16, blocks::bc7_u16_rgba),
[INFO] [stdout] 185 | ||     rgba!(f32, 16, blocks::bc7_f32_rgba),
[INFO] [stdout] 186 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bi_planar.rs:68:54
[INFO] [stdout]    |
[INFO] [stdout] 68 |    pub(crate) const NV12: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   _____________________________________-                ^
[INFO] [stdout]    |  |______________________________________________________|
[INFO] [stdout] 69 | ||     rgb!(u8, p1 = u8, p2 = [u8; 2], |y, [u, v], _| y
[INFO] [stdout] 70 | ||         .map(|y| yuv8::n8([y, u, v]))),
[INFO] [stdout] 71 | ||     rgb!(u16, p1 = u8, p2 = [u8; 2], |y, [u, v], _| y
[INFO] [stdout] ...  ||
[INFO] [stdout] 74 | ||         .map(|y| yuv8::f32([y, u, v]))),
[INFO] [stdout] 75 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bi_planar.rs:80:54
[INFO] [stdout]    |
[INFO] [stdout] 80 |    pub(crate) const P010: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   _____________________________________-                ^
[INFO] [stdout]    |  |______________________________________________________|
[INFO] [stdout] 81 | ||     rgb!(u16, p1 = u16, p2 = [u16; 2], |y, [u, v], _| y
[INFO] [stdout] 82 | ||         .map(|y| yuv10::n16(to10([y, u, v])))),
[INFO] [stdout] 83 | ||     rgb!(u8, p1 = u16, p2 = [u16; 2], |y, [u, v], _| y
[INFO] [stdout] ...  ||
[INFO] [stdout] 86 | ||         .map(|y| yuv10::f32(to10([y, u, v])))),
[INFO] [stdout] 87 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bi_planar.rs:89:54
[INFO] [stdout]    |
[INFO] [stdout] 89 |    pub(crate) const P016: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   _____________________________________-                ^
[INFO] [stdout]    |  |______________________________________________________|
[INFO] [stdout] 90 | ||     rgb!(u16, p1 = u16, p2 = [u16; 2], |y, [u, v], _| y
[INFO] [stdout] 91 | ||         .map(|y| yuv16::n16([y, u, v]))),
[INFO] [stdout] 92 | ||     rgb!(u8, p1 = u16, p2 = [u16; 2], |y, [u, v], _| y
[INFO] [stdout] ...  ||
[INFO] [stdout] 95 | ||         .map(|y| yuv16::f32([y, u, v]))),
[INFO] [stdout] 96 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:116:65
[INFO] [stdout]     |
[INFO] [stdout] 116 |    pub(crate) const R8G8_B8G8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 117 | ||     rgb!(u8, decode_rg_bg),
[INFO] [stdout] 118 | ||     rgb!(u16, |pair| decode_rg_bg(pair.map(n8::n16))),
[INFO] [stdout] 119 | ||     rgb!(f32, |pair| decode_rg_bg(pair.map(n8::f32))),
[INFO] [stdout] 120 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:126:65
[INFO] [stdout]     |
[INFO] [stdout] 126 |    pub(crate) const G8R8_G8B8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 127 | ||     rgb!(u8, decode_gr_bg),
[INFO] [stdout] 128 | ||     rgb!(u16, |pair| decode_gr_bg(pair.map(n8::n16))),
[INFO] [stdout] 129 | ||     rgb!(f32, |pair| decode_gr_bg(pair.map(n8::f32))),
[INFO] [stdout] 130 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:136:54
[INFO] [stdout]     |
[INFO] [stdout] 136 |    pub(crate) const YUY2: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 137 | ||     rgb!(u8, |pair| decode_yuv2(pair, yuv8::n8)),
[INFO] [stdout] 138 | ||     rgb!(u16, |pair| decode_yuv2(pair, yuv8::n16)),
[INFO] [stdout] 139 | ||     rgb!(f32, |pair| decode_yuv2(pair, yuv8::f32)),
[INFO] [stdout] 140 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:146:54
[INFO] [stdout]     |
[INFO] [stdout] 146 |    pub(crate) const UYVY: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 147 | ||     rgb!(u8, |pair| decode_uyvy(pair, yuv8::n8)),
[INFO] [stdout] 148 | ||     rgb!(u16, |pair| decode_uyvy(pair, yuv8::n16)),
[INFO] [stdout] 149 | ||     rgb!(f32, |pair| decode_uyvy(pair, yuv8::f32)),
[INFO] [stdout] 150 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:158:54
[INFO] [stdout]     |
[INFO] [stdout] 158 |    pub(crate) const Y210: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 159 | ||     rgb!(u16, 8, |pair| decode_y210(pair, yuv10::n16)),
[INFO] [stdout] 160 | ||     rgb!(f32, 8, |pair| decode_y210(pair, yuv10::f32)),
[INFO] [stdout] 161 | ||     rgb!(u8, 8, |pair| decode_y210(pair, yuv10::n8)),
[INFO] [stdout] 162 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:169:54
[INFO] [stdout]     |
[INFO] [stdout] 169 |    pub(crate) const Y216: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 170 | ||     rgb!(u16, 8, |pair| decode_y216(pair, yuv16::n16)),
[INFO] [stdout] 171 | ||     rgb!(f32, 8, |pair| decode_y216(pair, yuv16::f32)),
[INFO] [stdout] 172 | ||     rgb!(u8, 8, |pair| decode_y216(pair, yuv16::n8)),
[INFO] [stdout] 173 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:184:58
[INFO] [stdout]     |
[INFO] [stdout] 184 |    pub(crate) const R1_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 185 | ||     r1!(Grayscale, u8, |block| r1_bits(block)
[INFO] [stdout] 186 | ||         .map(n1::n8)
[INFO] [stdout] 187 | ||         .map(|p| [p])),
[INFO] [stdout] ...   ||
[INFO] [stdout] 193 | ||         .map(|p| [p])),
[INFO] [stdout] 194 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |    pub(crate) const R8G8B8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 158 | ||     rgb!(u8, [u8; 3], process_fn = N8_TO_U8),
[INFO] [stdout] 159 | ||     rgb!(u16, [u8; 3], process_fn = N8_TO_U16),
[INFO] [stdout] 160 | ||     rgb!(f32, [u8; 3], process_fn = N8_TO_F32),
[INFO] [stdout] 161 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 162 |    .add_specialized(Rgb, U8, COPY_U8);
[INFO] [stdout]     |                                     - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:164:62
[INFO] [stdout]     |
[INFO] [stdout] 164 |    pub(crate) const B8G8R8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 165 | ||     rgb!(u8, [u8; 3], |bgr| bgr.swap_rb()),
[INFO] [stdout] 166 | ||     rgb!(u16, [u8; 3], |bgr| bgr.swap_rb().map(n8::n16)),
[INFO] [stdout] 167 | ||     rgb!(f32, [u8; 3], |bgr| bgr.swap_rb().map(n8::f32)),
[INFO] [stdout] 168 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:170:64
[INFO] [stdout]     |
[INFO] [stdout] 170 |    pub(crate) const R8G8B8A8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 171 | ||     rgba!(u8, [u8; 4], process_fn = N8_TO_U8),
[INFO] [stdout] 172 | ||     rgba!(u16, [u8; 4], process_fn = N8_TO_U16),
[INFO] [stdout] 173 | ||     rgba!(f32, [u8; 4], process_fn = N8_TO_F32),
[INFO] [stdout] 174 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 175 |    .add_specialized(Rgba, U8, COPY_U8);
[INFO] [stdout]     |                                      - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:177:64
[INFO] [stdout]     |
[INFO] [stdout] 177 |    pub(crate) const R8G8B8A8_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 178 | ||     rgba!(u8, [u8; 4], process_fn = S8_TO_U8),
[INFO] [stdout] 179 | ||     rgba!(u16, [u8; 4], process_fn = S8_TO_U16),
[INFO] [stdout] 180 | ||     rgba!(f32, [u8; 4], process_fn = S8_TO_F32),
[INFO] [stdout] 181 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 182 |    .add_specialized(Rgba, U8, COPY_S8);
[INFO] [stdout]     |                                      - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:184:64
[INFO] [stdout]     |
[INFO] [stdout] 184 |    pub(crate) const B8G8R8A8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 185 | ||     rgba!(u8, [u8; 4], |bgra| bgra.swap_rb()),
[INFO] [stdout] 186 | ||     rgba!(u16, [u8; 4], |bgra| bgra.swap_rb().map(n8::n16)),
[INFO] [stdout] 187 | ||     rgba!(f32, [u8; 4], |bgra| bgra.swap_rb().map(n8::f32)),
[INFO] [stdout] 188 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 199 |    });
[INFO] [stdout]     |     - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:205:64
[INFO] [stdout]     |
[INFO] [stdout] 205 |    pub(crate) const B8G8R8X8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 206 | ||     rgb!(u8, [u8; 4], bgrx_to_rgb),
[INFO] [stdout] 207 | ||     rgb!(u16, [u8; 4], |bgrx| bgrx_to_rgb(bgrx).map(n8::n16)),
[INFO] [stdout] 208 | ||     rgb!(f32, [u8; 4], |bgrx| bgrx_to_rgb(bgrx).map(n8::f32)),
[INFO] [stdout] 209 | ||     // the format is literally optimized for this
[INFO] [stdout] 210 | ||     rgba!(u8, [u8; 4], |bgrx| bgrx_to_rgb(bgrx).to_rgba()),
[INFO] [stdout] 211 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |    pub(crate) const B5G6R5_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 214 | ||     rgb!(u8, [u16; 1], |[bgr]| B5G6R5::from_u16(bgr).to_n8()),
[INFO] [stdout] 215 | ||     rgb!(u16, [u16; 1], |[bgr]| B5G6R5::from_u16(bgr).to_n16()),
[INFO] [stdout] 216 | ||     rgb!(f32, [u16; 1], |[bgr]| B5G6R5::from_u16(bgr).to_f32()),
[INFO] [stdout] 217 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:219:64
[INFO] [stdout]     |
[INFO] [stdout] 219 |    pub(crate) const B5G5R5A1_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 220 | ||     rgba!(u8, [u16; 1], |[bgra]| B5G5R5A1::from_u16(bgra).to_n8()),
[INFO] [stdout] 221 | ||     rgba!(u16, [u16; 1], |[bgra]| B5G5R5A1::from_u16(bgra).to_n16()),
[INFO] [stdout] 222 | ||     rgba!(f32, [u16; 1], |[bgra]| B5G5R5A1::from_u16(bgra).to_f32()),
[INFO] [stdout] 223 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:234:64
[INFO] [stdout]     |
[INFO] [stdout] 234 |    pub(crate) const B4G4R4A4_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 235 | ||     rgba!(u8, [u8; 2], |bgra| unpack_bgra4444(bgra).map(n4::n8)),
[INFO] [stdout] 236 | ||     rgba!(u16, [u8; 2], |bgra| unpack_bgra4444(bgra).map(n4::n16)),
[INFO] [stdout] 237 | ||     rgba!(f32, [u8; 2], |bgra| unpack_bgra4444(bgra).map(n4::f32)),
[INFO] [stdout] 238 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:249:64
[INFO] [stdout]     |
[INFO] [stdout] 249 |    pub(crate) const A4B4G4R4_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 250 | ||     rgba!(u8, [u8; 2], |bgra| unpack_abgr4444(bgra).map(n4::n8)),
[INFO] [stdout] 251 | ||     rgba!(u16, [u8; 2], |bgra| unpack_abgr4444(bgra).map(n4::n16)),
[INFO] [stdout] 252 | ||     rgba!(f32, [u8; 2], |bgra| unpack_abgr4444(bgra).map(n4::f32)),
[INFO] [stdout] 253 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:255:58
[INFO] [stdout]     |
[INFO] [stdout] 255 |    pub(crate) const R8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 256 | ||     gray!(u8, [u8; 1], process_fn = N8_TO_U8),
[INFO] [stdout] 257 | ||     gray!(u16, [u8; 1], process_fn = N8_TO_U16),
[INFO] [stdout] 258 | ||     gray!(f32, [u8; 1], process_fn = N8_TO_F32),
[INFO] [stdout] 259 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 260 |    .add_specialized(Grayscale, U8, COPY_U8);
[INFO] [stdout]     |                                           - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:262:58
[INFO] [stdout]     |
[INFO] [stdout] 262 |    pub(crate) const R8_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 263 | ||     gray!(u8, [u8; 1], process_fn = S8_TO_U8),
[INFO] [stdout] 264 | ||     gray!(u16, [u8; 1], process_fn = S8_TO_U16),
[INFO] [stdout] 265 | ||     gray!(f32, [u8; 1], process_fn = S8_TO_F32),
[INFO] [stdout] 266 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 267 |    .add_specialized(Grayscale, U8, COPY_S8);
[INFO] [stdout]     |                                           - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:269:60
[INFO] [stdout]     |
[INFO] [stdout] 269 |    pub(crate) const R8G8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________|
[INFO] [stdout] 270 | ||     rgb!(u8, [u8; 2], |rg| [rg[0], rg[1], 0]),
[INFO] [stdout] 271 | ||     rgb!(u16, [u8; 2], |rg| [rg[0], rg[1], 0].map(n8::n16)),
[INFO] [stdout] 272 | ||     rgb!(f32, [u8; 2], |rg| [rg[0], rg[1], 0].map(n8::f32)),
[INFO] [stdout] 273 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:275:60
[INFO] [stdout]     |
[INFO] [stdout] 275 |    pub(crate) const R8G8_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________|
[INFO] [stdout] 276 | ||     rgb!(u8, [u8; 2], |[r, g]| [s8::n8(r), s8::n8(g), Norm::HALF]),
[INFO] [stdout] 277 | ||     rgb!(u16, [u8; 2], |[r, g]| [s8::n16(r), s8::n16(g), Norm::HALF]),
[INFO] [stdout] 278 | ||     rgb!(f32, [u8; 2], |[r, g]| [
[INFO] [stdout] ...   ||
[INFO] [stdout] 282 | ||     ]),
[INFO] [stdout] 283 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:285:58
[INFO] [stdout]     |
[INFO] [stdout] 285 |    pub(crate) const A8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 286 | ||     alpha!(u8, [u8; 1], process_fn = N8_TO_U8),
[INFO] [stdout] 287 | ||     alpha!(u16, [u8; 1], process_fn = N8_TO_U16),
[INFO] [stdout] 288 | ||     alpha!(f32, [u8; 1], process_fn = N8_TO_F32),
[INFO] [stdout] 289 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 290 |    .add_specialized(Alpha, U8, COPY_U8);
[INFO] [stdout]     |                                       - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:292:59
[INFO] [stdout]     |
[INFO] [stdout] 292 |    pub(crate) const R16_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 293 | ||     gray!(u16, [u16; 1], process_fn = N16_TO_U16),
[INFO] [stdout] 294 | ||     gray!(u8, [u16; 1], process_fn = N16_TO_U8),
[INFO] [stdout] 295 | ||     gray!(f32, [u16; 1], process_fn = N16_TO_F32),
[INFO] [stdout] 296 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 297 |    .add_specialized(Grayscale, U16, COPY_U16);
[INFO] [stdout]     |                                             - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:299:59
[INFO] [stdout]     |
[INFO] [stdout] 299 |    pub(crate) const R16_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 300 | ||     gray!(u16, [u16; 1], process_fn = S16_TO_U16),
[INFO] [stdout] 301 | ||     gray!(u8, [u16; 1], process_fn = S16_TO_U8),
[INFO] [stdout] 302 | ||     gray!(f32, [u16; 1], process_fn = S16_TO_F32),
[INFO] [stdout] 303 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:305:62
[INFO] [stdout]     |
[INFO] [stdout] 305 |    pub(crate) const R16G16_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 306 | ||     rgb!(u16, [u16; 2], |rg| [rg[0], rg[1], 0]),
[INFO] [stdout] 307 | ||     rgb!(u8, [u16; 2], |rg| [rg[0], rg[1], 0].map(n16::n8)),
[INFO] [stdout] 308 | ||     rgb!(f32, [u16; 2], |rg| [rg[0], rg[1], 0].map(n16::f32)),
[INFO] [stdout] 309 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:311:62
[INFO] [stdout]     |
[INFO] [stdout] 311 |    pub(crate) const R16G16_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 312 | ||     rgb!(u16, [u16; 2], |[r, g]| [
[INFO] [stdout] 313 | ||         s16::n16(r),
[INFO] [stdout] 314 | ||         s16::n16(g),
[INFO] [stdout] ...   ||
[INFO] [stdout] 322 | ||     ]),
[INFO] [stdout] 323 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:325:68
[INFO] [stdout]     |
[INFO] [stdout] 325 |    pub(crate) const R16G16B16A16_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 326 | ||     rgba!(u16, [u16; 4], process_fn = N16_TO_U16),
[INFO] [stdout] 327 | ||     rgba!(u8, [u16; 4], process_fn = N16_TO_U8),
[INFO] [stdout] 328 | ||     rgba!(f32, [u16; 4], process_fn = N16_TO_F32),
[INFO] [stdout] 329 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 330 |    .add_specialized(Rgba, U16, COPY_U16);
[INFO] [stdout]     |                                        - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:332:68
[INFO] [stdout]     |
[INFO] [stdout] 332 |    pub(crate) const R16G16B16A16_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 333 | ||     rgba!(u16, [u16; 4], process_fn = S16_TO_U16),
[INFO] [stdout] 334 | ||     rgba!(u8, [u16; 4], process_fn = S16_TO_U8),
[INFO] [stdout] 335 | ||     rgba!(f32, [u16; 4], process_fn = S16_TO_F32),
[INFO] [stdout] 336 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:346:67
[INFO] [stdout]     |
[INFO] [stdout] 346 |    pub(crate) const R10G10B10A2_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________________|
[INFO] [stdout] 347 | ||     rgba!(u16, [u32; 1], |[rgba]| {
[INFO] [stdout] 348 | ||         let (r, g, b, a) = unpack_rgba1010102(rgba);
[INFO] [stdout] 349 | ||         [n10::n16(r), n10::n16(g), n10::n16(b), n2::n16(a)]
[INFO] [stdout] ...   ||
[INFO] [stdout] 358 | ||     }),
[INFO] [stdout] 359 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:368:65
[INFO] [stdout]     |
[INFO] [stdout] 368 |    pub(crate) const R11G11B10_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 369 | ||     rgb!(f32, [u32; 1], |[rgb]| {
[INFO] [stdout] 370 | ||         let [r11, g11, b10] = unpack_rgb111110f(rgb);
[INFO] [stdout] 371 | ||         [fp11::f32(r11), fp11::f32(g11), fp10::f32(b10)]
[INFO] [stdout] ...   ||
[INFO] [stdout] 380 | ||     }),
[INFO] [stdout] 381 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:383:68
[INFO] [stdout]     |
[INFO] [stdout] 383 |    pub(crate) const R9G9B9E5_SHAREDEXP: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 384 | ||     rgb!(f32, [u32; 1], |[rgb]| rgb9995f::f32(rgb)),
[INFO] [stdout] 385 | ||     rgb!(u16, [u32; 1], |[rgb]| rgb9995f::n16(rgb)),
[INFO] [stdout] 386 | ||     rgb!(u8, [u32; 1], |[rgb]| rgb9995f::n8(rgb)),
[INFO] [stdout] 387 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:389:59
[INFO] [stdout]     |
[INFO] [stdout] 389 |    pub(crate) const R16_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 390 | ||     gray!(f32, [u16; 1], process_fn = F16_TO_F32),
[INFO] [stdout] 391 | ||     gray!(u8, [u16; 1], process_fn = F16_TO_U8),
[INFO] [stdout] 392 | ||     gray!(u16, [u16; 1], process_fn = F16_TO_U16),
[INFO] [stdout] 393 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:395:62
[INFO] [stdout]     |
[INFO] [stdout] 395 |    pub(crate) const R16G16_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 396 | ||     rgb!(f32, [u16; 2], |[r, g]| [fp16::f32(r), fp16::f32(g), 0.0]),
[INFO] [stdout] 397 | ||     rgb!(u16, [u16; 2], |[r, g]| [fp16::n16(r), fp16::n16(g), 0]),
[INFO] [stdout] 398 | ||     rgb!(u8, [u16; 2], |[r, g]| [fp16::n8(r), fp16::n8(g), 0]),
[INFO] [stdout] 399 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:401:68
[INFO] [stdout]     |
[INFO] [stdout] 401 |    pub(crate) const R16G16B16A16_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 402 | ||     rgba!(f32, [u16; 4], process_fn = F16_TO_F32),
[INFO] [stdout] 403 | ||     rgba!(u8, [u16; 4], process_fn = F16_TO_U8),
[INFO] [stdout] 404 | ||     rgba!(u16, [u16; 4], process_fn = F16_TO_U16),
[INFO] [stdout] 405 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:407:59
[INFO] [stdout]     |
[INFO] [stdout] 407 |    pub(crate) const R32_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 408 | ||     gray!(f32, [f32; 1], process_fn = F32_TO_F32),
[INFO] [stdout] 409 | ||     gray!(u8, [f32; 1], process_fn = F32_TO_U8),
[INFO] [stdout] 410 | ||     gray!(u16, [f32; 1], process_fn = F32_TO_U16),
[INFO] [stdout] 411 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 412 |    .add_specialized(Grayscale, F32, COPY_U32);
[INFO] [stdout]     |                                             - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:414:62
[INFO] [stdout]     |
[INFO] [stdout] 414 |    pub(crate) const R32G32_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 415 | ||     rgb!(f32, [f32; 2], |[r, g]| [r, g, 0.0]),
[INFO] [stdout] 416 | ||     rgb!(u16, [f32; 2], |[r, g]| [fp::n16(r), fp::n16(g), 0]),
[INFO] [stdout] 417 | ||     rgb!(u8, [f32; 2], |[r, g]| [fp::n8(r), fp::n8(g), 0]),
[INFO] [stdout] 418 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:420:65
[INFO] [stdout]     |
[INFO] [stdout] 420 |    pub(crate) const R32G32B32_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 421 | ||     rgb!(f32, [f32; 3], process_fn = F32_TO_F32),
[INFO] [stdout] 422 | ||     rgb!(u8, [f32; 3], process_fn = F32_TO_U8),
[INFO] [stdout] 423 | ||     rgb!(u16, [f32; 3], process_fn = F32_TO_U16),
[INFO] [stdout] 424 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 425 |    .add_specialized(Rgb, F32, COPY_U32);
[INFO] [stdout]     |                                       - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:427:68
[INFO] [stdout]     |
[INFO] [stdout] 427 |    pub(crate) const R32G32B32A32_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 428 | ||     rgba!(f32, [f32; 4], process_fn = F32_TO_F32),
[INFO] [stdout] 429 | ||     rgba!(u8, [f32; 4], process_fn = F32_TO_U8),
[INFO] [stdout] 430 | ||     rgba!(u16, [f32; 4], process_fn = F32_TO_U16),
[INFO] [stdout] 431 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 432 |    .add_specialized(Rgba, F32, COPY_U32);
[INFO] [stdout]     |                                        - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:443:76
[INFO] [stdout]     |
[INFO] [stdout] 443 |    pub(crate) const R10G10B10_XR_BIAS_A2_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________________|
[INFO] [stdout] 444 | ||     rgba!(f32, [u32; 1], |[rgba]| {
[INFO] [stdout] 445 | ||         let (rgb, a2) = unpack_rgba1010102_xr(rgba);
[INFO] [stdout] 446 | ||         let [r, g, b] = rgb.map(xr10::f32);
[INFO] [stdout] ...   ||
[INFO] [stdout] 458 | ||     }),
[INFO] [stdout] 459 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:470:54
[INFO] [stdout]     |
[INFO] [stdout] 470 |    pub(crate) const AYUV: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 471 | ||     rgba!(u8, [u8; 4], |ayuv| unpack_ayuv(ayuv, yuv8::n8, |x| x)),
[INFO] [stdout] 472 | ||     rgba!(u16, [u8; 4], |ayuv| unpack_ayuv(ayuv, yuv8::n16, n8::n16)),
[INFO] [stdout] 473 | ||     rgba!(f32, [u8; 4], |ayuv| unpack_ayuv(ayuv, yuv8::f32, n8::f32)),
[INFO] [stdout] 474 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:485:54
[INFO] [stdout]     |
[INFO] [stdout] 485 |    pub(crate) const Y410: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 486 | ||     rgba!(u16, u32, |y410| unpack_y410(y410, yuv10::n16, n2::n16)),
[INFO] [stdout] 487 | ||     rgba!(f32, u32, |y410| unpack_y410(y410, yuv10::f32, n2::f32)),
[INFO] [stdout] 488 | ||     rgba!(u8, u32, |y410| unpack_y410(y410, yuv10::n8, n2::n8)),
[INFO] [stdout] 489 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:500:54
[INFO] [stdout]     |
[INFO] [stdout] 500 |    pub(crate) const Y416: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 501 | ||     rgba!(u16, [u16; 4], |y416| unpack_y416(y416, yuv16::n16, |x| x)),
[INFO] [stdout] 502 | ||     rgba!(f32, [u16; 4], |y416| unpack_y416(
[INFO] [stdout] 503 | ||         y416,
[INFO] [stdout] ...   ||
[INFO] [stdout] 507 | ||     rgba!(u8, [u16; 4], |y416| unpack_y416(y416, yuv16::n8, n16::n8)),
[INFO] [stdout] 508 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:187:62
[INFO] [stdout]     |
[INFO] [stdout] 187 |    pub(crate) const BC1_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 188 | ||     block_universal::<4, 4, 8>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 189 | ||         let bc1_options = get_bc1_options(options);
[INFO] [stdout] 190 | ||         let mut block = get_4x4_rgba(data, row_pitch);
[INFO] [stdout] ...   ||
[INFO] [stdout] 204 | || .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 205 | || .with_fragment_size(BC1_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:230:62
[INFO] [stdout]     |
[INFO] [stdout] 230 |    pub(crate) const BC2_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 231 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 232 | ||         let (bc1_options, _) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 242 | || .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 243 | || .with_fragment_size(BC1_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:246:25
[INFO] [stdout]     |
[INFO] [stdout] 246 |        EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____-                   ^
[INFO] [stdout]     |  |_________________________|
[INFO] [stdout] 247 | ||         block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 248 | ||             let (bc1_options, _) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 259 | ||     .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 260 | ||     .with_fragment_size(BC1_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                           ^-
[INFO] [stdout]     | ||                                           ||
[INFO] [stdout]     | ||___________________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:271:62
[INFO] [stdout]     |
[INFO] [stdout] 271 |    pub(crate) const BC3_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 272 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 273 | ||         let (bc1_options, bc4_options) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 283 | || .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 284 | || .with_fragment_size(BC3_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |        EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____-                   ^
[INFO] [stdout]     |  |_________________________|
[INFO] [stdout] 288 | ||         block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 289 | ||             let (bc1_options, bc4_options) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 300 | ||     .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 301 | ||     .with_fragment_size(BC3_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                           ^-
[INFO] [stdout]     | ||                                           ||
[INFO] [stdout]     | ||___________________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 |        EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____-                   ^
[INFO] [stdout]     |  |_________________________|
[INFO] [stdout] 305 | ||         block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 306 | ||             let (bc1_options, bc4_options) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 327 | ||     .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 328 | ||     .with_fragment_size(BC3_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                           ^-
[INFO] [stdout]     | ||                                           ||
[INFO] [stdout]     | ||___________________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:331:25
[INFO] [stdout]     |
[INFO] [stdout] 331 |        EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____-                   ^
[INFO] [stdout]     |  |_________________________|
[INFO] [stdout] 332 | ||         block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 333 | ||             let (bc1_options, bc4_options) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 349 | ||     .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 350 | ||     .with_fragment_size(BC3_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                           ^-
[INFO] [stdout]     | ||                                           ||
[INFO] [stdout]     | ||___________________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:380:62
[INFO] [stdout]     |
[INFO] [stdout] 380 |    pub(crate) const BC4_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 381 | ||     block_universal::<4, 4, 8>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 382 | ||         let mut options = get_bc4_options(options);
[INFO] [stdout] 383 | ||         options.snorm = false;
[INFO] [stdout] ...   ||
[INFO] [stdout] 387 | || .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 388 | || .with_fragment_size(BC4_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:390:62
[INFO] [stdout]     |
[INFO] [stdout] 390 |    pub(crate) const BC4_SNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 391 | ||     block_universal::<4, 4, 8>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 392 | ||         let mut options = get_bc4_options(options);
[INFO] [stdout] 393 | ||         options.snorm = true;
[INFO] [stdout] ...   ||
[INFO] [stdout] 397 | || .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 398 | || .with_fragment_size(BC4_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:410:62
[INFO] [stdout]     |
[INFO] [stdout] 410 |    pub(crate) const BC5_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 411 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 412 | ||         let mut options = get_bc4_options(options);
[INFO] [stdout] 413 | ||         options.snorm = false;
[INFO] [stdout] ...   ||
[INFO] [stdout] 417 | || .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 418 | || .with_fragment_size(BC4_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:420:62
[INFO] [stdout]     |
[INFO] [stdout] 420 |    pub(crate) const BC5_SNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 421 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 422 | ||         let mut options = get_bc4_options(options);
[INFO] [stdout] 423 | ||         options.snorm = true;
[INFO] [stdout] ...   ||
[INFO] [stdout] 427 | || .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 428 | || .with_fragment_size(BC4_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:430:62
[INFO] [stdout]     |
[INFO] [stdout] 430 |    pub(crate) const BC7_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 431 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 432 | ||         let block_vec: [Vec4; 16] = get_4x4_rgba_vec4(data, row_pitch);
[INFO] [stdout] ...   ||
[INFO] [stdout] 517 | || .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 518 | || .with_fragment_size(BC7_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 113 |    pub(crate) const ASTC_4X4_UNORM: DecoderSet = astc!(4, 4);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 114 |    pub(crate) const ASTC_5X4_UNORM: DecoderSet = astc!(5, 4);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 115 |    pub(crate) const ASTC_5X5_UNORM: DecoderSet = astc!(5, 5);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 116 |    pub(crate) const ASTC_6X5_UNORM: DecoderSet = astc!(6, 5);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 117 |    pub(crate) const ASTC_6X6_UNORM: DecoderSet = astc!(6, 6);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 118 |    pub(crate) const ASTC_8X5_UNORM: DecoderSet = astc!(8, 5);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 119 |    pub(crate) const ASTC_8X6_UNORM: DecoderSet = astc!(8, 6);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 120 |    pub(crate) const ASTC_8X8_UNORM: DecoderSet = astc!(8, 8);
[INFO] [stdout]     |                                                  ----------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 121 |    pub(crate) const ASTC_10X5_UNORM: DecoderSet = astc!(10, 5);
[INFO] [stdout]     |                                                   ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 122 |    pub(crate) const ASTC_10X6_UNORM: DecoderSet = astc!(10, 6);
[INFO] [stdout]     |                                                   ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 123 |    pub(crate) const ASTC_10X8_UNORM: DecoderSet = astc!(10, 8);
[INFO] [stdout]     |                                                   ------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 124 |    pub(crate) const ASTC_10X10_UNORM: DecoderSet = astc!(10, 10);
[INFO] [stdout]     |                                                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 125 |    pub(crate) const ASTC_12X10_UNORM: DecoderSet = astc!(12, 10);
[INFO] [stdout]     |                                                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/astc.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |            DecoderSet::new(&[
[INFO] [stdout]     |   _________-                ^
[INFO] [stdout]     |  |__________________________|
[INFO] [stdout] 104 | ||             astc_decoder!(u8, $w, $h),
[INFO] [stdout] 105 | ||             astc_decoder!(u16, $w, $h),
[INFO] [stdout] 106 | ||             astc_decoder!(f32, $w, $h),
[INFO] [stdout] 107 | ||         ])
[INFO] [stdout]     | ||         ^-
[INFO] [stdout]     | ||         ||
[INFO] [stdout]     | ||_________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |            creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 126 |    pub(crate) const ASTC_12X12_UNORM: DecoderSet = astc!(12, 12);
[INFO] [stdout]     |                                                    ------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this error originates in the macro `astc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bc.rs:83:59
[INFO] [stdout]    |
[INFO] [stdout] 83 |    pub(crate) const BC1_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   __________________________________________-                ^
[INFO] [stdout]    |  |___________________________________________________________|
[INFO] [stdout] 84 | ||     rgba!(u8, 8, blocks::bc1_u8_rgba),
[INFO] [stdout] 85 | ||     rgba!(u16, 8, with_precision(blocks::bc1_u8_rgba)),
[INFO] [stdout] 86 | ||     rgba!(f32, 8, with_precision(blocks::bc1_u8_rgba)),
[INFO] [stdout] 87 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bc.rs:89:59
[INFO] [stdout]    |
[INFO] [stdout] 89 |    pub(crate) const BC2_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   __________________________________________-                ^
[INFO] [stdout]    |  |___________________________________________________________|
[INFO] [stdout] 90 | ||     rgba!(u8, 16, blocks::bc2_u8_rgba),
[INFO] [stdout] 91 | ||     rgba!(u16, 16, with_precision(blocks::bc2_u8_rgba)),
[INFO] [stdout] 92 | ||     rgba!(f32, 16, with_precision(blocks::bc2_u8_rgba)),
[INFO] [stdout] ...  ||
[INFO] [stdout] 95 | ||     rgb!(f32, 16, with_precision(blocks::bc2_u8_rgb)),
[INFO] [stdout] 96 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:98:79
[INFO] [stdout]     |
[INFO] [stdout]  98 |    pub(crate) const BC2_UNORM_PREMULTIPLIED_ALPHA: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ______________________________________________________________-                ^
[INFO] [stdout]     |  |_______________________________________________________________________________|
[INFO] [stdout]  99 | ||     rgba!(u8, 16, blocks::bc2_premultiplied_alpha_u8_rgba),
[INFO] [stdout] 100 | ||     rgba!(
[INFO] [stdout] 101 | ||         u16,
[INFO] [stdout] ...   ||
[INFO] [stdout] 109 | ||     ),
[INFO] [stdout] 110 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:112:59
[INFO] [stdout]     |
[INFO] [stdout] 112 |    pub(crate) const BC3_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 113 | ||     rgba!(u8, 16, blocks::bc3_u8_rgba),
[INFO] [stdout] 114 | ||     rgba!(u16, 16, with_precision(blocks::bc3_u8_rgba)),
[INFO] [stdout] 115 | ||     rgba!(f32, 16, with_precision(blocks::bc3_u8_rgba)),
[INFO] [stdout] ...   ||
[INFO] [stdout] 118 | ||     rgb!(f32, 16, with_precision(blocks::bc3_u8_rgb)),
[INFO] [stdout] 119 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:121:79
[INFO] [stdout]     |
[INFO] [stdout] 121 |    pub(crate) const BC3_UNORM_PREMULTIPLIED_ALPHA: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ______________________________________________________________-                ^
[INFO] [stdout]     |  |_______________________________________________________________________________|
[INFO] [stdout] 122 | ||     rgba!(u8, 16, blocks::bc3_premultiplied_alpha_u8_rgba),
[INFO] [stdout] 123 | ||     rgba!(
[INFO] [stdout] 124 | ||         u16,
[INFO] [stdout] ...   ||
[INFO] [stdout] 132 | ||     ),
[INFO] [stdout] 133 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:135:64
[INFO] [stdout]     |
[INFO] [stdout] 135 |    pub(crate) const BC3_UNORM_RXGB: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 136 | ||     rgb!(u8, 16, blocks::bc3_rxgb_u8_rgb),
[INFO] [stdout] 137 | ||     rgb!(u16, 16, with_precision(blocks::bc3_rxgb_u8_rgb)),
[INFO] [stdout] 138 | ||     rgb!(f32, 16, with_precision(blocks::bc3_rxgb_u8_rgb)),
[INFO] [stdout] 139 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:141:66
[INFO] [stdout]     |
[INFO] [stdout] 141 |    pub(crate) const BC3_UNORM_NORMAL: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________________|
[INFO] [stdout] 142 | ||     rgb!(u8, 16, blocks::bc3n_u8_rgb),
[INFO] [stdout] 143 | ||     rgb!(u16, 16, with_precision(blocks::bc3n_u8_rgb)),
[INFO] [stdout] 144 | ||     rgb!(f32, 16, with_precision(blocks::bc3n_u8_rgb)),
[INFO] [stdout] 145 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/encode/bi_planar.rs:88:64
[INFO] [stdout]    |
[INFO] [stdout] 88 |    pub(crate) const NV12: EncoderSet = EncoderSet::new_bi_planar(&[Encoder::new_universal(|args| {
[INFO] [stdout]    |   _____________________________________-                          ^
[INFO] [stdout]    |  |________________________________________________________________|
[INFO] [stdout] 89 | ||     bi_planar_universal(args, |block, _| {
[INFO] [stdout] 90 | ||         let block_yuv = block.map(|[r, g, b, _]| yuv8::from_rgb_f32([r, g, b]));
[INFO] [stdout] ...  ||
[INFO] [stdout] 97 | ||     })
[INFO] [stdout] 98 | || })]);
[INFO] [stdout]    | ||   ^-
[INFO] [stdout]    | ||   ||
[INFO] [stdout]    | ||___|temporary value is freed at the end of this statement
[INFO] [stdout]    | |____|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |      creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:147:59
[INFO] [stdout]     |
[INFO] [stdout] 147 |    pub(crate) const BC4_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 148 | ||     gray!(u8, 8, blocks::bc4u_gray),
[INFO] [stdout] 149 | ||     gray!(u16, 8, blocks::bc4u_gray),
[INFO] [stdout] 150 | ||     gray!(f32, 8, blocks::bc4u_gray),
[INFO] [stdout] 151 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bi_planar.rs:100:64
[INFO] [stdout]     |
[INFO] [stdout] 100 |    pub(crate) const P010: EncoderSet = EncoderSet::new_bi_planar(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____________________________________-                          ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 101 | ||     bi_planar_universal(args, |block, _| {
[INFO] [stdout] 102 | ||         let block_yuv = block.map(|[r, g, b, _]| yuv10::from_rgb_f32([r, g, b]));
[INFO] [stdout] ...   ||
[INFO] [stdout] 109 | ||     })
[INFO] [stdout] 110 | || })]);
[INFO] [stdout]     | ||   ^-
[INFO] [stdout]     | ||   ||
[INFO] [stdout]     | ||___|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |      creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bi_planar.rs:112:64
[INFO] [stdout]     |
[INFO] [stdout] 112 |    pub(crate) const P016: EncoderSet = EncoderSet::new_bi_planar(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____________________________________-                          ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 113 | ||     bi_planar_universal(args, |block, _| {
[INFO] [stdout] 114 | ||         let block_yuv = block.map(|[r, g, b, _]| yuv16::from_rgb_f32([r, g, b]));
[INFO] [stdout] ...   ||
[INFO] [stdout] 121 | ||     })
[INFO] [stdout] 122 | || })]);
[INFO] [stdout]     | ||   ^-
[INFO] [stdout]     | ||   ||
[INFO] [stdout]     | ||___|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |      creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:153:59
[INFO] [stdout]     |
[INFO] [stdout] 153 |    pub(crate) const BC4_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 154 | ||     gray!(u8, 8, blocks::bc4s_gray),
[INFO] [stdout] 155 | ||     gray!(u16, 8, blocks::bc4s_gray),
[INFO] [stdout] 156 | ||     gray!(f32, 8, blocks::bc4s_gray),
[INFO] [stdout] 157 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:159:59
[INFO] [stdout]     |
[INFO] [stdout] 159 |    pub(crate) const BC5_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 160 | ||     rgb!(u8, 16, blocks::bc5u_rgb),
[INFO] [stdout] 161 | ||     rgb!(u16, 16, blocks::bc5u_rgb),
[INFO] [stdout] 162 | ||     rgb!(f32, 16, blocks::bc5u_rgb),
[INFO] [stdout] 163 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:165:59
[INFO] [stdout]     |
[INFO] [stdout] 165 |    pub(crate) const BC5_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 166 | ||     rgb!(u8, 16, blocks::bc5s_rgb),
[INFO] [stdout] 167 | ||     rgb!(u16, 16, blocks::bc5s_rgb),
[INFO] [stdout] 168 | ||     rgb!(f32, 16, blocks::bc5s_rgb),
[INFO] [stdout] 169 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:171:59
[INFO] [stdout]     |
[INFO] [stdout] 171 |    pub(crate) const BC6H_UF16: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 172 | ||     rgb!(f32, 16, blocks::bc6_u_f32),
[INFO] [stdout] 173 | ||     rgb!(u16, 16, blocks::bc6_u_u16),
[INFO] [stdout] 174 | ||     rgb!(u8, 16, blocks::bc6_u_u8),
[INFO] [stdout] 175 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:176:59
[INFO] [stdout]     |
[INFO] [stdout] 176 |    pub(crate) const BC6H_SF16: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 177 | ||     rgb!(f32, 16, blocks::bc6_s_f32),
[INFO] [stdout] 178 | ||     rgb!(u16, 16, blocks::bc6_s_u16),
[INFO] [stdout] 179 | ||     rgb!(u8, 16, blocks::bc6_s_u8),
[INFO] [stdout] 180 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/bc.rs:182:59
[INFO] [stdout]     |
[INFO] [stdout] 182 |    pub(crate) const BC7_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 183 | ||     rgba!(u8, 16, blocks::bc7_u8_rgba),
[INFO] [stdout] 184 | ||     rgba!(u16, 16, blocks::bc7_u16_rgba),
[INFO] [stdout] 185 | ||     rgba!(f32, 16, blocks::bc7_f32_rgba),
[INFO] [stdout] 186 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:125:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |     EncoderSet::new(&[universal_subsample!(2, [u8; 4], to_rgbg).add_flags(Flags::EXACT_U8)]);
[INFO] [stdout]     |     -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |     |                |                                                                     |
[INFO] [stdout]     |     |                |                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]     |     |                creates a temporary value which is freed while still in use
[INFO] [stdout]     |     argument requires that borrow lasts for `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:128:22
[INFO] [stdout]     |
[INFO] [stdout] 128 |        EncoderSet::new(&[universal_subsample!(2, [u8; 4], |pair| {
[INFO] [stdout]     |   _____-                ^
[INFO] [stdout]     |  |______________________|
[INFO] [stdout] 129 | ||         let [r, g0, b, g1] = to_rgbg(pair);
[INFO] [stdout] 130 | ||         [g0, r, g1, b]
[INFO] [stdout] 131 | ||     })
[INFO] [stdout] 132 | ||     .add_flags(Flags::EXACT_U8)]);
[INFO] [stdout]     | ||                                ^-
[INFO] [stdout]     | ||                                ||
[INFO] [stdout]     | ||________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |_________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:149:54
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub(crate) const YUY2: EncoderSet = EncoderSet::new(&[universal_subsample!(2, [u8; 4], to_yuy2)]);
[INFO] [stdout]     |                                     -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |                                     |                |                                          |
[INFO] [stdout]     |                                     |                |                                          temporary value is freed at the end of this statement
[INFO] [stdout]     |                                     |                creates a temporary value which is freed while still in use
[INFO] [stdout]     |                                     argument requires that borrow lasts for `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:151:54
[INFO] [stdout]     |
[INFO] [stdout] 151 |    pub(crate) const UYVY: EncoderSet = EncoderSet::new(&[universal_subsample!(2, [u8; 4], |pair| {
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 152 | ||     let [y0, u, y1, v] = to_yuy2(pair);
[INFO] [stdout] 153 | ||     [u, y0, v, y1]
[INFO] [stdout] 154 | || })]);
[INFO] [stdout]     | ||   ^-
[INFO] [stdout]     | ||   ||
[INFO] [stdout]     | ||___|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |      creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 172 |        EncoderSet::new(&[
[INFO] [stdout]     |   _____-                ^
[INFO] [stdout]     |  |______________________|
[INFO] [stdout] 173 | ||         universal_subsample!(2, [u16; 4], |pair| to_y216(pair).map(|c| c & 0xFFC0))
[INFO] [stdout] 174 | ||             .add_flags(Flags::EXACT_U8),
[INFO] [stdout] 175 | ||     ]);
[INFO] [stdout]     | ||     ^-
[INFO] [stdout]     | ||     ||
[INFO] [stdout]     | ||_____|temporary value is freed at the end of this statement
[INFO] [stdout]     | |______|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |        creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:178:22
[INFO] [stdout]     |
[INFO] [stdout] 178 |     EncoderSet::new(&[universal_subsample!(2, [u16; 4], to_y216).add_flags(Flags::EXACT_U8)]);
[INFO] [stdout]     |     -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |     |                |                                                                      |
[INFO] [stdout]     |     |                |                                                                      temporary value is freed at the end of this statement
[INFO] [stdout]     |     |                creates a temporary value which is freed while still in use
[INFO] [stdout]     |     argument requires that borrow lasts for `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:180:58
[INFO] [stdout]     |
[INFO] [stdout] 180 |    pub(crate) const R1_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 181 | ||     universal_subsample!(8, u8, |block| {
[INFO] [stdout] 182 | ||         let mut out = 0_u8;
[INFO] [stdout] 183 | ||         for (i, &p) in block.iter().enumerate() {
[INFO] [stdout] ...   ||
[INFO] [stdout] 208 | ||     }).add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 209 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:382:62
[INFO] [stdout]     |
[INFO] [stdout] 382 |    pub(crate) const R8G8B8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 383 | ||     Encoder::copy(ColorFormat::RGB_U8),
[INFO] [stdout] 384 | ||     color_convert!(ColorFormat::RGB_U8),
[INFO] [stdout] 385 | ||     universal!([u8; 3], |[r, g, b, _]| [r, g, b].map(n8::from_f32)),
[INFO] [stdout] ...   ||
[INFO] [stdout] 396 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 397 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:399:62
[INFO] [stdout]     |
[INFO] [stdout] 399 |    pub(crate) const B8G8R8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 400 | ||     Encoder::new(ColorFormatSet::U8, Flags::EXACT_U8, |args| {
[INFO] [stdout] 401 | ||         fn process_line(line: &[u8], color: ColorFormat, out: &mut [u8]) {
[INFO] [stdout] 402 | ||             assert!(color.precision == Precision::U8);
[INFO] [stdout] ...   ||
[INFO] [stdout] 424 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 425 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:427:64
[INFO] [stdout]     |
[INFO] [stdout] 427 |    pub(crate) const R8G8B8A8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 428 | ||     Encoder::copy(ColorFormat::RGBA_U8),
[INFO] [stdout] 429 | ||     color_convert!(ColorFormat::RGBA_U8),
[INFO] [stdout] 430 | ||     universal!([u8; 4], rgba = n8::from_f32),
[INFO] [stdout] 431 | ||     universal_dither!([u8; 4], rgba = n8::from_f32, n8::f32),
[INFO] [stdout] 432 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:434:64
[INFO] [stdout]     |
[INFO] [stdout] 434 |    pub(crate) const R8G8B8A8_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 435 | ||     color_convert!(ColorFormat::RGBA_U8, snorm = true),
[INFO] [stdout] 436 | ||     universal!([u8; 4], rgba = s8::from_uf32),
[INFO] [stdout] 437 | ||     universal_dither!([u8; 4], rgba = s8::from_uf32, s8::uf32),
[INFO] [stdout] 438 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:440:64
[INFO] [stdout]     |
[INFO] [stdout] 440 |    pub(crate) const B8G8R8A8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 441 | ||     Encoder::new(ColorFormatSet::U8, Flags::EXACT_U8, |args| {
[INFO] [stdout] 442 | ||         fn process_line(line: &[u8], color: ColorFormat, out: &mut [u8]) {
[INFO] [stdout] 443 | ||             assert!(color.precision == Precision::U8);
[INFO] [stdout] ...   ||
[INFO] [stdout] 466 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 467 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:469:64
[INFO] [stdout]     |
[INFO] [stdout] 469 |    pub(crate) const B8G8R8X8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 470 | ||     Encoder::new(ColorFormatSet::U8, Flags::EXACT_U8, |args| {
[INFO] [stdout] 471 | ||         fn process_line(line: &[u8], color: ColorFormat, out: &mut [u8]) {
[INFO] [stdout] 472 | ||             assert!(color.precision == Precision::U8);
[INFO] [stdout] ...   ||
[INFO] [stdout] 502 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 503 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:505:62
[INFO] [stdout]     |
[INFO] [stdout] 505 |    pub(crate) const B5G6R5_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 506 | ||     universal!(u16, |[r, g, b, _]| {
[INFO] [stdout] 507 | ||         let r = n5::from_f32(r) as u16;
[INFO] [stdout] 508 | ||         let g = n6::from_f32(g) as u16;
[INFO] [stdout] ...   ||
[INFO] [stdout] 522 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 523 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:525:64
[INFO] [stdout]     |
[INFO] [stdout] 525 |    pub(crate) const B5G5R5A1_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 526 | ||     universal!(u16, |[r, g, b, a]| {
[INFO] [stdout] 527 | ||         let r = n5::from_f32(r) as u16;
[INFO] [stdout] 528 | ||         let g = n5::from_f32(g) as u16;
[INFO] [stdout] ...   ||
[INFO] [stdout] 549 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 550 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bi_planar.rs:68:54
[INFO] [stdout]    |
[INFO] [stdout] 68 |    pub(crate) const NV12: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   _____________________________________-                ^
[INFO] [stdout]    |  |______________________________________________________|
[INFO] [stdout] 69 | ||     rgb!(u8, p1 = u8, p2 = [u8; 2], |y, [u, v], _| y
[INFO] [stdout] 70 | ||         .map(|y| yuv8::n8([y, u, v]))),
[INFO] [stdout] 71 | ||     rgb!(u16, p1 = u8, p2 = [u8; 2], |y, [u, v], _| y
[INFO] [stdout] ...  ||
[INFO] [stdout] 74 | ||         .map(|y| yuv8::f32([y, u, v]))),
[INFO] [stdout] 75 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:559:64
[INFO] [stdout]     |
[INFO] [stdout] 559 |    pub(crate) const B4G4R4A4_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 560 | ||     universal!(u16, |[r, g, b, a]| {
[INFO] [stdout] 561 | ||         let r = n4::from_f32(r) as u16;
[INFO] [stdout] 562 | ||         let g = n4::from_f32(g) as u16;
[INFO] [stdout] ...   ||
[INFO] [stdout] 572 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 573 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bi_planar.rs:80:54
[INFO] [stdout]    |
[INFO] [stdout] 80 |    pub(crate) const P010: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   _____________________________________-                ^
[INFO] [stdout]    |  |______________________________________________________|
[INFO] [stdout] 81 | ||     rgb!(u16, p1 = u16, p2 = [u16; 2], |y, [u, v], _| y
[INFO] [stdout] 82 | ||         .map(|y| yuv10::n16(to10([y, u, v])))),
[INFO] [stdout] 83 | ||     rgb!(u8, p1 = u16, p2 = [u16; 2], |y, [u, v], _| y
[INFO] [stdout] ...  ||
[INFO] [stdout] 86 | ||         .map(|y| yuv10::f32(to10([y, u, v])))),
[INFO] [stdout] 87 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:575:64
[INFO] [stdout]     |
[INFO] [stdout] 575 |    pub(crate) const A4B4G4R4_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 576 | ||     universal!(u16, |[r, g, b, a]| {
[INFO] [stdout] 577 | ||         let r = n4::from_f32(r) as u16;
[INFO] [stdout] 578 | ||         let g = n4::from_f32(g) as u16;
[INFO] [stdout] ...   ||
[INFO] [stdout] 588 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 589 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/decode/bi_planar.rs:89:54
[INFO] [stdout]    |
[INFO] [stdout] 89 |    pub(crate) const P016: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]    |   _____________________________________-                ^
[INFO] [stdout]    |  |______________________________________________________|
[INFO] [stdout] 90 | ||     rgb!(u16, p1 = u16, p2 = [u16; 2], |y, [u, v], _| y
[INFO] [stdout] 91 | ||         .map(|y| yuv16::n16([y, u, v]))),
[INFO] [stdout] 92 | ||     rgb!(u8, p1 = u16, p2 = [u16; 2], |y, [u, v], _| y
[INFO] [stdout] ...  ||
[INFO] [stdout] 95 | ||         .map(|y| yuv16::f32([y, u, v]))),
[INFO] [stdout] 96 | || ]);
[INFO] [stdout]    | || ^-
[INFO] [stdout]    | || ||
[INFO] [stdout]    | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]    | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:591:58
[INFO] [stdout]     |
[INFO] [stdout] 591 |    pub(crate) const R8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 592 | ||     Encoder::copy(ColorFormat::GRAYSCALE_U8),
[INFO] [stdout] 593 | ||     color_convert!(ColorFormat::GRAYSCALE_U8),
[INFO] [stdout] 594 | ||     universal!(u8, gray = n8::from_f32),
[INFO] [stdout] 595 | ||     universal_dither!(u8, gray = n8::from_f32, n8::f32),
[INFO] [stdout] 596 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:598:58
[INFO] [stdout]     |
[INFO] [stdout] 598 |    pub(crate) const R8_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 599 | ||     color_convert!(ColorFormat::GRAYSCALE_U8, snorm = true),
[INFO] [stdout] 600 | ||     universal!(u8, gray = s8::from_uf32),
[INFO] [stdout] 601 | ||     universal_dither!(u8, gray = s8::from_uf32, s8::uf32),
[INFO] [stdout] 602 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:604:60
[INFO] [stdout]     |
[INFO] [stdout] 604 |    pub(crate) const R8G8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________|
[INFO] [stdout] 605 | ||     universal!([u8; 2], rg = n8::from_f32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 606 | ||     universal_dither!([u8; 2], rg = n8::from_f32, n8::f32),
[INFO] [stdout] 607 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:609:60
[INFO] [stdout]     |
[INFO] [stdout] 609 |    pub(crate) const R8G8_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________|
[INFO] [stdout] 610 | ||     universal!([u8; 2], rg = s8::from_uf32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 611 | ||     universal_dither!([u8; 2], rg = s8::from_uf32, s8::uf32),
[INFO] [stdout] 612 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:614:58
[INFO] [stdout]     |
[INFO] [stdout] 614 |    pub(crate) const A8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 615 | ||     Encoder::copy(ColorFormat::ALPHA_U8),
[INFO] [stdout] 616 | ||     color_convert!(ColorFormat::ALPHA_U8),
[INFO] [stdout] 617 | ||     universal!(u8, |[_, _, _, a]| n8::from_f32(a)),
[INFO] [stdout] ...   ||
[INFO] [stdout] 626 | ||     .add_flags(Flags::DITHER_ALPHA),
[INFO] [stdout] 627 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:629:59
[INFO] [stdout]     |
[INFO] [stdout] 629 |    pub(crate) const R16_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 630 | ||     Encoder::copy(ColorFormat::GRAYSCALE_U16),
[INFO] [stdout] 631 | ||     color_convert!(ColorFormat::GRAYSCALE_U16),
[INFO] [stdout] 632 | ||     universal!(u16, gray = n16::from_f32),
[INFO] [stdout] 633 | ||     universal_dither!(u16, gray = n16::from_f32, n16::f32),
[INFO] [stdout] 634 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:636:59
[INFO] [stdout]     |
[INFO] [stdout] 636 |    pub(crate) const R16_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 637 | ||     color_convert!(ColorFormat::GRAYSCALE_U16, snorm = true),
[INFO] [stdout] 638 | ||     universal!(u16, gray = s16::from_uf32),
[INFO] [stdout] 639 | ||     universal_dither!(u16, gray = s16::from_uf32, s16::uf32),
[INFO] [stdout] 640 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:642:62
[INFO] [stdout]     |
[INFO] [stdout] 642 |    pub(crate) const R16G16_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 643 | ||     universal!([u16; 2], rg = n16::from_f32).add_flags(Flags::EXACT_U16),
[INFO] [stdout] 644 | ||     universal_dither!([u16; 2], rg = n16::from_f32, n16::f32),
[INFO] [stdout] 645 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:647:62
[INFO] [stdout]     |
[INFO] [stdout] 647 |    pub(crate) const R16G16_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 648 | ||     universal!([u16; 2], rg = s16::from_uf32).add_flags(Flags::EXACT_U16),
[INFO] [stdout] 649 | ||     universal_dither!([u16; 2], rg = s16::from_uf32, s16::uf32),
[INFO] [stdout] 650 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:652:68
[INFO] [stdout]     |
[INFO] [stdout] 652 |    pub(crate) const R16G16B16A16_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 653 | ||     Encoder::copy(ColorFormat::RGBA_U16),
[INFO] [stdout] 654 | ||     color_convert!(ColorFormat::RGBA_U16),
[INFO] [stdout] 655 | ||     universal!([u16; 4], rgba = n16::from_f32),
[INFO] [stdout] 656 | ||     universal_dither!([u16; 4], rgba = n16::from_f32, n16::f32),
[INFO] [stdout] 657 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:659:68
[INFO] [stdout]     |
[INFO] [stdout] 659 |    pub(crate) const R16G16B16A16_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 660 | ||     color_convert!(ColorFormat::RGBA_U16, snorm = true),
[INFO] [stdout] 661 | ||     universal!([u16; 4], rgba = s16::from_uf32),
[INFO] [stdout] 662 | ||     universal_dither!([u16; 4], rgba = s16::from_uf32, s16::uf32),
[INFO] [stdout] 663 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:665:67
[INFO] [stdout]     |
[INFO] [stdout] 665 |    pub(crate) const R10G10B10A2_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________________|
[INFO] [stdout] 666 | ||     universal!(u32, |[r, g, b, a]| {
[INFO] [stdout] 667 | ||         let r = n10::from_f32(r) as u32;
[INFO] [stdout] 668 | ||         let g = n10::from_f32(g) as u32;
[INFO] [stdout] ...   ||
[INFO] [stdout] 690 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 691 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:116:65
[INFO] [stdout]     |
[INFO] [stdout] 116 |    pub(crate) const R8G8_B8G8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 117 | ||     rgb!(u8, decode_rg_bg),
[INFO] [stdout] 118 | ||     rgb!(u16, |pair| decode_rg_bg(pair.map(n8::n16))),
[INFO] [stdout] 119 | ||     rgb!(f32, |pair| decode_rg_bg(pair.map(n8::f32))),
[INFO] [stdout] 120 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:693:65
[INFO] [stdout]     |
[INFO] [stdout] 693 |    pub(crate) const R11G11B10_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 694 | ||     universal!(u32, |[r, g, b, _]| {
[INFO] [stdout] 695 | ||         let r11 = fp11::from_f32(r) as u32;
[INFO] [stdout] 696 | ||         let g11 = fp11::from_f32(g) as u32;
[INFO] [stdout] ...   ||
[INFO] [stdout] 715 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 716 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:126:65
[INFO] [stdout]     |
[INFO] [stdout] 126 |    pub(crate) const G8R8_G8B8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 127 | ||     rgb!(u8, decode_gr_bg),
[INFO] [stdout] 128 | ||     rgb!(u16, |pair| decode_gr_bg(pair.map(n8::n16))),
[INFO] [stdout] 129 | ||     rgb!(f32, |pair| decode_gr_bg(pair.map(n8::f32))),
[INFO] [stdout] 130 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:718:68
[INFO] [stdout]     |
[INFO] [stdout] 718 |    pub(crate) const R9G9B9E5_SHAREDEXP: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 719 | ||     universal!(u32, |[r, g, b, _]| { rgb9995f::from_f32([r, g, b]) }).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 720 | ||     universal_dither!(u32, |pixel| {
[INFO] [stdout] 721 | ||         let rgb = rgb9995f::from_f32([pixel[0], pixel[1], pixel[2]]);
[INFO] [stdout] ...   ||
[INFO] [stdout] 729 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 730 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:136:54
[INFO] [stdout]     |
[INFO] [stdout] 136 |    pub(crate) const YUY2: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 137 | ||     rgb!(u8, |pair| decode_yuv2(pair, yuv8::n8)),
[INFO] [stdout] 138 | ||     rgb!(u16, |pair| decode_yuv2(pair, yuv8::n16)),
[INFO] [stdout] 139 | ||     rgb!(f32, |pair| decode_yuv2(pair, yuv8::f32)),
[INFO] [stdout] 140 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:732:59
[INFO] [stdout]     |
[INFO] [stdout] 732 |    pub(crate) const R16_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 733 | ||     universal!(u16, gray = fp16::from_f32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 734 | ||     universal_dither!(u16, gray = fp16::from_f32, fp16::f32),
[INFO] [stdout] 735 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:146:54
[INFO] [stdout]     |
[INFO] [stdout] 146 |    pub(crate) const UYVY: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 147 | ||     rgb!(u8, |pair| decode_uyvy(pair, yuv8::n8)),
[INFO] [stdout] 148 | ||     rgb!(u16, |pair| decode_uyvy(pair, yuv8::n16)),
[INFO] [stdout] 149 | ||     rgb!(f32, |pair| decode_uyvy(pair, yuv8::f32)),
[INFO] [stdout] 150 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:737:62
[INFO] [stdout]     |
[INFO] [stdout] 737 |    pub(crate) const R16G16_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 738 | ||     universal!([u16; 2], rg = fp16::from_f32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 739 | ||     universal_dither!([u16; 2], rg = fp16::from_f32, fp16::f32),
[INFO] [stdout] 740 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:742:68
[INFO] [stdout]     |
[INFO] [stdout] 742 |    pub(crate) const R16G16B16A16_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 743 | ||     universal!([u16; 4], rgba = fp16::from_f32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 744 | ||     universal_dither!([u16; 4], rgba = fp16::from_f32, fp16::f32),
[INFO] [stdout] 745 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:158:54
[INFO] [stdout]     |
[INFO] [stdout] 158 |    pub(crate) const Y210: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 159 | ||     rgb!(u16, 8, |pair| decode_y210(pair, yuv10::n16)),
[INFO] [stdout] 160 | ||     rgb!(f32, 8, |pair| decode_y210(pair, yuv10::f32)),
[INFO] [stdout] 161 | ||     rgb!(u8, 8, |pair| decode_y210(pair, yuv10::n8)),
[INFO] [stdout] 162 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:747:59
[INFO] [stdout]     |
[INFO] [stdout] 747 |    pub(crate) const R32_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 748 | ||     Encoder::copy(ColorFormat::GRAYSCALE_F32),
[INFO] [stdout] 749 | ||     color_convert!(ColorFormat::GRAYSCALE_F32),
[INFO] [stdout] 750 | ||     universal!(f32, gray = |r| r),
[INFO] [stdout] 751 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:754:22
[INFO] [stdout]     |
[INFO] [stdout] 754 |     EncoderSet::new(&[universal!([f32; 2], rg = |rg| rg).add_flags(Flags::EXACT_F32)]);
[INFO] [stdout]     |     -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |     |                |                                                               |
[INFO] [stdout]     |     |                |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]     |     |                creates a temporary value which is freed while still in use
[INFO] [stdout]     |     argument requires that borrow lasts for `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:169:54
[INFO] [stdout]     |
[INFO] [stdout] 169 |    pub(crate) const Y216: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 170 | ||     rgb!(u16, 8, |pair| decode_y216(pair, yuv16::n16)),
[INFO] [stdout] 171 | ||     rgb!(f32, 8, |pair| decode_y216(pair, yuv16::f32)),
[INFO] [stdout] 172 | ||     rgb!(u8, 8, |pair| decode_y216(pair, yuv16::n8)),
[INFO] [stdout] 173 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:756:65
[INFO] [stdout]     |
[INFO] [stdout] 756 |    pub(crate) const R32G32B32_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 757 | ||     Encoder::copy(ColorFormat::RGB_F32),
[INFO] [stdout] 758 | ||     color_convert!(ColorFormat::RGB_F32),
[INFO] [stdout] 759 | ||     universal!([f32; 3], |[r, g, b, _]| [r, g, b]),
[INFO] [stdout] 760 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/sub_sampled.rs:184:58
[INFO] [stdout]     |
[INFO] [stdout] 184 |    pub(crate) const R1_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 185 | ||     r1!(Grayscale, u8, |block| r1_bits(block)
[INFO] [stdout] 186 | ||         .map(n1::n8)
[INFO] [stdout] 187 | ||         .map(|p| [p])),
[INFO] [stdout] ...   ||
[INFO] [stdout] 193 | ||         .map(|p| [p])),
[INFO] [stdout] 194 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:762:68
[INFO] [stdout]     |
[INFO] [stdout] 762 |    pub(crate) const R32G32B32A32_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 763 | ||     Encoder::copy(ColorFormat::RGBA_F32),
[INFO] [stdout] 764 | ||     color_convert!(ColorFormat::RGBA_F32),
[INFO] [stdout] 765 | ||     universal!([f32; 4], |rgba| rgba),
[INFO] [stdout] 766 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:768:76
[INFO] [stdout]     |
[INFO] [stdout] 768 |    pub(crate) const R10G10B10_XR_BIAS_A2_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________________|
[INFO] [stdout] 769 | ||     universal!(u32, |[r, g, b, a]| {
[INFO] [stdout] 770 | ||         let r = xr10::from_f32(r) as u32;
[INFO] [stdout] 771 | ||         let g = xr10::from_f32(g) as u32;
[INFO] [stdout] ...   ||
[INFO] [stdout] 793 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 794 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:796:54
[INFO] [stdout]     |
[INFO] [stdout] 796 |    pub(crate) const AYUV: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 797 | ||     universal!([u8; 4], |[r, g, b, a]| {
[INFO] [stdout] 798 | ||         let [y, u, v] = yuv8::from_rgb_f32([r, g, b]);
[INFO] [stdout] 799 | ||         let a = n8::from_f32(a);
[INFO] [stdout] ...   ||
[INFO] [stdout] 812 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 813 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:815:54
[INFO] [stdout]     |
[INFO] [stdout] 815 |    pub(crate) const Y410: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 816 | ||     universal!(u32, |[r, g, b, a]| {
[INFO] [stdout] 817 | ||         let [y, u, v] = yuv10::from_rgb_f32([r, g, b]);
[INFO] [stdout] 818 | ||         let a = n2::from_f32(a) as u32;
[INFO] [stdout] ...   ||
[INFO] [stdout] 835 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 836 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:157:62
[INFO] [stdout]     |
[INFO] [stdout] 157 |    pub(crate) const R8G8B8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 158 | ||     rgb!(u8, [u8; 3], process_fn = N8_TO_U8),
[INFO] [stdout] 159 | ||     rgb!(u16, [u8; 3], process_fn = N8_TO_U16),
[INFO] [stdout] 160 | ||     rgb!(f32, [u8; 3], process_fn = N8_TO_F32),
[INFO] [stdout] 161 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 162 |    .add_specialized(Rgb, U8, COPY_U8);
[INFO] [stdout]     |                                     - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:838:54
[INFO] [stdout]     |
[INFO] [stdout] 838 |    pub(crate) const Y416: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 839 | ||     universal!([u16; 4], |[r, g, b, a]| {
[INFO] [stdout] 840 | ||         let [y, u, v] = yuv16::from_rgb_f32([r, g, b]);
[INFO] [stdout] 841 | ||         let a = n16::from_f32(a);
[INFO] [stdout] ...   ||
[INFO] [stdout] 855 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 856 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:164:62
[INFO] [stdout]     |
[INFO] [stdout] 164 |    pub(crate) const B8G8R8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 165 | ||     rgb!(u8, [u8; 3], |bgr| bgr.swap_rb()),
[INFO] [stdout] 166 | ||     rgb!(u16, [u8; 3], |bgr| bgr.swap_rb().map(n8::n16)),
[INFO] [stdout] 167 | ||     rgb!(f32, [u8; 3], |bgr| bgr.swap_rb().map(n8::f32)),
[INFO] [stdout] 168 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:170:64
[INFO] [stdout]     |
[INFO] [stdout] 170 |    pub(crate) const R8G8B8A8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 171 | ||     rgba!(u8, [u8; 4], process_fn = N8_TO_U8),
[INFO] [stdout] 172 | ||     rgba!(u16, [u8; 4], process_fn = N8_TO_U16),
[INFO] [stdout] 173 | ||     rgba!(f32, [u8; 4], process_fn = N8_TO_F32),
[INFO] [stdout] 174 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 175 |    .add_specialized(Rgba, U8, COPY_U8);
[INFO] [stdout]     |                                      - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:177:64
[INFO] [stdout]     |
[INFO] [stdout] 177 |    pub(crate) const R8G8B8A8_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 178 | ||     rgba!(u8, [u8; 4], process_fn = S8_TO_U8),
[INFO] [stdout] 179 | ||     rgba!(u16, [u8; 4], process_fn = S8_TO_U16),
[INFO] [stdout] 180 | ||     rgba!(f32, [u8; 4], process_fn = S8_TO_F32),
[INFO] [stdout] 181 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 182 |    .add_specialized(Rgba, U8, COPY_S8);
[INFO] [stdout]     |                                      - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:184:64
[INFO] [stdout]     |
[INFO] [stdout] 184 |    pub(crate) const B8G8R8A8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 185 | ||     rgba!(u8, [u8; 4], |bgra| bgra.swap_rb()),
[INFO] [stdout] 186 | ||     rgba!(u16, [u8; 4], |bgra| bgra.swap_rb().map(n8::n16)),
[INFO] [stdout] 187 | ||     rgba!(f32, [u8; 4], |bgra| bgra.swap_rb().map(n8::f32)),
[INFO] [stdout] 188 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] ...
[INFO] [stdout] 199 |    });
[INFO] [stdout]     |     - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:205:64
[INFO] [stdout]     |
[INFO] [stdout] 205 |    pub(crate) const B8G8R8X8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 206 | ||     rgb!(u8, [u8; 4], bgrx_to_rgb),
[INFO] [stdout] 207 | ||     rgb!(u16, [u8; 4], |bgrx| bgrx_to_rgb(bgrx).map(n8::n16)),
[INFO] [stdout] 208 | ||     rgb!(f32, [u8; 4], |bgrx| bgrx_to_rgb(bgrx).map(n8::f32)),
[INFO] [stdout] 209 | ||     // the format is literally optimized for this
[INFO] [stdout] 210 | ||     rgba!(u8, [u8; 4], |bgrx| bgrx_to_rgb(bgrx).to_rgba()),
[INFO] [stdout] 211 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:213:62
[INFO] [stdout]     |
[INFO] [stdout] 213 |    pub(crate) const B5G6R5_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 214 | ||     rgb!(u8, [u16; 1], |[bgr]| B5G6R5::from_u16(bgr).to_n8()),
[INFO] [stdout] 215 | ||     rgb!(u16, [u16; 1], |[bgr]| B5G6R5::from_u16(bgr).to_n16()),
[INFO] [stdout] 216 | ||     rgb!(f32, [u16; 1], |[bgr]| B5G6R5::from_u16(bgr).to_f32()),
[INFO] [stdout] 217 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:219:64
[INFO] [stdout]     |
[INFO] [stdout] 219 |    pub(crate) const B5G5R5A1_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 220 | ||     rgba!(u8, [u16; 1], |[bgra]| B5G5R5A1::from_u16(bgra).to_n8()),
[INFO] [stdout] 221 | ||     rgba!(u16, [u16; 1], |[bgra]| B5G5R5A1::from_u16(bgra).to_n16()),
[INFO] [stdout] 222 | ||     rgba!(f32, [u16; 1], |[bgra]| B5G5R5A1::from_u16(bgra).to_f32()),
[INFO] [stdout] 223 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:234:64
[INFO] [stdout]     |
[INFO] [stdout] 234 |    pub(crate) const B4G4R4A4_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 235 | ||     rgba!(u8, [u8; 2], |bgra| unpack_bgra4444(bgra).map(n4::n8)),
[INFO] [stdout] 236 | ||     rgba!(u16, [u8; 2], |bgra| unpack_bgra4444(bgra).map(n4::n16)),
[INFO] [stdout] 237 | ||     rgba!(f32, [u8; 2], |bgra| unpack_bgra4444(bgra).map(n4::f32)),
[INFO] [stdout] 238 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:249:64
[INFO] [stdout]     |
[INFO] [stdout] 249 |    pub(crate) const A4B4G4R4_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 250 | ||     rgba!(u8, [u8; 2], |bgra| unpack_abgr4444(bgra).map(n4::n8)),
[INFO] [stdout] 251 | ||     rgba!(u16, [u8; 2], |bgra| unpack_abgr4444(bgra).map(n4::n16)),
[INFO] [stdout] 252 | ||     rgba!(f32, [u8; 2], |bgra| unpack_abgr4444(bgra).map(n4::f32)),
[INFO] [stdout] 253 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:255:58
[INFO] [stdout]     |
[INFO] [stdout] 255 |    pub(crate) const R8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 256 | ||     gray!(u8, [u8; 1], process_fn = N8_TO_U8),
[INFO] [stdout] 257 | ||     gray!(u16, [u8; 1], process_fn = N8_TO_U16),
[INFO] [stdout] 258 | ||     gray!(f32, [u8; 1], process_fn = N8_TO_F32),
[INFO] [stdout] 259 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 260 |    .add_specialized(Grayscale, U8, COPY_U8);
[INFO] [stdout]     |                                           - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:262:58
[INFO] [stdout]     |
[INFO] [stdout] 262 |    pub(crate) const R8_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 263 | ||     gray!(u8, [u8; 1], process_fn = S8_TO_U8),
[INFO] [stdout] 264 | ||     gray!(u16, [u8; 1], process_fn = S8_TO_U16),
[INFO] [stdout] 265 | ||     gray!(f32, [u8; 1], process_fn = S8_TO_F32),
[INFO] [stdout] 266 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 267 |    .add_specialized(Grayscale, U8, COPY_S8);
[INFO] [stdout]     |                                           - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:269:60
[INFO] [stdout]     |
[INFO] [stdout] 269 |    pub(crate) const R8G8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________|
[INFO] [stdout] 270 | ||     rgb!(u8, [u8; 2], |rg| [rg[0], rg[1], 0]),
[INFO] [stdout] 271 | ||     rgb!(u16, [u8; 2], |rg| [rg[0], rg[1], 0].map(n8::n16)),
[INFO] [stdout] 272 | ||     rgb!(f32, [u8; 2], |rg| [rg[0], rg[1], 0].map(n8::f32)),
[INFO] [stdout] 273 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:275:60
[INFO] [stdout]     |
[INFO] [stdout] 275 |    pub(crate) const R8G8_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________|
[INFO] [stdout] 276 | ||     rgb!(u8, [u8; 2], |[r, g]| [s8::n8(r), s8::n8(g), Norm::HALF]),
[INFO] [stdout] 277 | ||     rgb!(u16, [u8; 2], |[r, g]| [s8::n16(r), s8::n16(g), Norm::HALF]),
[INFO] [stdout] 278 | ||     rgb!(f32, [u8; 2], |[r, g]| [
[INFO] [stdout] ...   ||
[INFO] [stdout] 282 | ||     ]),
[INFO] [stdout] 283 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:285:58
[INFO] [stdout]     |
[INFO] [stdout] 285 |    pub(crate) const A8_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 286 | ||     alpha!(u8, [u8; 1], process_fn = N8_TO_U8),
[INFO] [stdout] 287 | ||     alpha!(u16, [u8; 1], process_fn = N8_TO_U16),
[INFO] [stdout] 288 | ||     alpha!(f32, [u8; 1], process_fn = N8_TO_F32),
[INFO] [stdout] 289 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 290 |    .add_specialized(Alpha, U8, COPY_U8);
[INFO] [stdout]     |                                       - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:292:59
[INFO] [stdout]     |
[INFO] [stdout] 292 |    pub(crate) const R16_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 293 | ||     gray!(u16, [u16; 1], process_fn = N16_TO_U16),
[INFO] [stdout] 294 | ||     gray!(u8, [u16; 1], process_fn = N16_TO_U8),
[INFO] [stdout] 295 | ||     gray!(f32, [u16; 1], process_fn = N16_TO_F32),
[INFO] [stdout] 296 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 297 |    .add_specialized(Grayscale, U16, COPY_U16);
[INFO] [stdout]     |                                             - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:299:59
[INFO] [stdout]     |
[INFO] [stdout] 299 |    pub(crate) const R16_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 300 | ||     gray!(u16, [u16; 1], process_fn = S16_TO_U16),
[INFO] [stdout] 301 | ||     gray!(u8, [u16; 1], process_fn = S16_TO_U8),
[INFO] [stdout] 302 | ||     gray!(f32, [u16; 1], process_fn = S16_TO_F32),
[INFO] [stdout] 303 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:305:62
[INFO] [stdout]     |
[INFO] [stdout] 305 |    pub(crate) const R16G16_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 306 | ||     rgb!(u16, [u16; 2], |rg| [rg[0], rg[1], 0]),
[INFO] [stdout] 307 | ||     rgb!(u8, [u16; 2], |rg| [rg[0], rg[1], 0].map(n16::n8)),
[INFO] [stdout] 308 | ||     rgb!(f32, [u16; 2], |rg| [rg[0], rg[1], 0].map(n16::f32)),
[INFO] [stdout] 309 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:311:62
[INFO] [stdout]     |
[INFO] [stdout] 311 |    pub(crate) const R16G16_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 312 | ||     rgb!(u16, [u16; 2], |[r, g]| [
[INFO] [stdout] 313 | ||         s16::n16(r),
[INFO] [stdout] 314 | ||         s16::n16(g),
[INFO] [stdout] ...   ||
[INFO] [stdout] 322 | ||     ]),
[INFO] [stdout] 323 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:325:68
[INFO] [stdout]     |
[INFO] [stdout] 325 |    pub(crate) const R16G16B16A16_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 326 | ||     rgba!(u16, [u16; 4], process_fn = N16_TO_U16),
[INFO] [stdout] 327 | ||     rgba!(u8, [u16; 4], process_fn = N16_TO_U8),
[INFO] [stdout] 328 | ||     rgba!(f32, [u16; 4], process_fn = N16_TO_F32),
[INFO] [stdout] 329 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 330 |    .add_specialized(Rgba, U16, COPY_U16);
[INFO] [stdout]     |                                        - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:332:68
[INFO] [stdout]     |
[INFO] [stdout] 332 |    pub(crate) const R16G16B16A16_SNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 333 | ||     rgba!(u16, [u16; 4], process_fn = S16_TO_U16),
[INFO] [stdout] 334 | ||     rgba!(u8, [u16; 4], process_fn = S16_TO_U8),
[INFO] [stdout] 335 | ||     rgba!(f32, [u16; 4], process_fn = S16_TO_F32),
[INFO] [stdout] 336 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:346:67
[INFO] [stdout]     |
[INFO] [stdout] 346 |    pub(crate) const R10G10B10A2_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________________|
[INFO] [stdout] 347 | ||     rgba!(u16, [u32; 1], |[rgba]| {
[INFO] [stdout] 348 | ||         let (r, g, b, a) = unpack_rgba1010102(rgba);
[INFO] [stdout] 349 | ||         [n10::n16(r), n10::n16(g), n10::n16(b), n2::n16(a)]
[INFO] [stdout] ...   ||
[INFO] [stdout] 358 | ||     }),
[INFO] [stdout] 359 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:368:65
[INFO] [stdout]     |
[INFO] [stdout] 368 |    pub(crate) const R11G11B10_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 369 | ||     rgb!(f32, [u32; 1], |[rgb]| {
[INFO] [stdout] 370 | ||         let [r11, g11, b10] = unpack_rgb111110f(rgb);
[INFO] [stdout] 371 | ||         [fp11::f32(r11), fp11::f32(g11), fp10::f32(b10)]
[INFO] [stdout] ...   ||
[INFO] [stdout] 380 | ||     }),
[INFO] [stdout] 381 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:383:68
[INFO] [stdout]     |
[INFO] [stdout] 383 |    pub(crate) const R9G9B9E5_SHAREDEXP: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 384 | ||     rgb!(f32, [u32; 1], |[rgb]| rgb9995f::f32(rgb)),
[INFO] [stdout] 385 | ||     rgb!(u16, [u32; 1], |[rgb]| rgb9995f::n16(rgb)),
[INFO] [stdout] 386 | ||     rgb!(u8, [u32; 1], |[rgb]| rgb9995f::n8(rgb)),
[INFO] [stdout] 387 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:389:59
[INFO] [stdout]     |
[INFO] [stdout] 389 |    pub(crate) const R16_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 390 | ||     gray!(f32, [u16; 1], process_fn = F16_TO_F32),
[INFO] [stdout] 391 | ||     gray!(u8, [u16; 1], process_fn = F16_TO_U8),
[INFO] [stdout] 392 | ||     gray!(u16, [u16; 1], process_fn = F16_TO_U16),
[INFO] [stdout] 393 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:395:62
[INFO] [stdout]     |
[INFO] [stdout] 395 |    pub(crate) const R16G16_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 396 | ||     rgb!(f32, [u16; 2], |[r, g]| [fp16::f32(r), fp16::f32(g), 0.0]),
[INFO] [stdout] 397 | ||     rgb!(u16, [u16; 2], |[r, g]| [fp16::n16(r), fp16::n16(g), 0]),
[INFO] [stdout] 398 | ||     rgb!(u8, [u16; 2], |[r, g]| [fp16::n8(r), fp16::n8(g), 0]),
[INFO] [stdout] 399 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:401:68
[INFO] [stdout]     |
[INFO] [stdout] 401 |    pub(crate) const R16G16B16A16_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 402 | ||     rgba!(f32, [u16; 4], process_fn = F16_TO_F32),
[INFO] [stdout] 403 | ||     rgba!(u8, [u16; 4], process_fn = F16_TO_U8),
[INFO] [stdout] 404 | ||     rgba!(u16, [u16; 4], process_fn = F16_TO_U16),
[INFO] [stdout] 405 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:407:59
[INFO] [stdout]     |
[INFO] [stdout] 407 |    pub(crate) const R32_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 408 | ||     gray!(f32, [f32; 1], process_fn = F32_TO_F32),
[INFO] [stdout] 409 | ||     gray!(u8, [f32; 1], process_fn = F32_TO_U8),
[INFO] [stdout] 410 | ||     gray!(u16, [f32; 1], process_fn = F32_TO_U16),
[INFO] [stdout] 411 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 412 |    .add_specialized(Grayscale, F32, COPY_U32);
[INFO] [stdout]     |                                             - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:414:62
[INFO] [stdout]     |
[INFO] [stdout] 414 |    pub(crate) const R32G32_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 415 | ||     rgb!(f32, [f32; 2], |[r, g]| [r, g, 0.0]),
[INFO] [stdout] 416 | ||     rgb!(u16, [f32; 2], |[r, g]| [fp::n16(r), fp::n16(g), 0]),
[INFO] [stdout] 417 | ||     rgb!(u8, [f32; 2], |[r, g]| [fp::n8(r), fp::n8(g), 0]),
[INFO] [stdout] 418 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:420:65
[INFO] [stdout]     |
[INFO] [stdout] 420 |    pub(crate) const R32G32B32_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 421 | ||     rgb!(f32, [f32; 3], process_fn = F32_TO_F32),
[INFO] [stdout] 422 | ||     rgb!(u8, [f32; 3], process_fn = F32_TO_U8),
[INFO] [stdout] 423 | ||     rgb!(u16, [f32; 3], process_fn = F32_TO_U16),
[INFO] [stdout] 424 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 425 |    .add_specialized(Rgb, F32, COPY_U32);
[INFO] [stdout]     |                                       - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:427:68
[INFO] [stdout]     |
[INFO] [stdout] 427 |    pub(crate) const R32G32B32A32_FLOAT: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 428 | ||     rgba!(f32, [f32; 4], process_fn = F32_TO_F32),
[INFO] [stdout] 429 | ||     rgba!(u8, [f32; 4], process_fn = F32_TO_U8),
[INFO] [stdout] 430 | ||     rgba!(u16, [f32; 4], process_fn = F32_TO_U16),
[INFO] [stdout] 431 | || ])
[INFO] [stdout]     | ||_^- argument requires that borrow lasts for `'static`
[INFO] [stdout]     | |__|
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 432 |    .add_specialized(Rgba, F32, COPY_U32);
[INFO] [stdout]     |                                        - temporary value is freed at the end of this statement
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:443:76
[INFO] [stdout]     |
[INFO] [stdout] 443 |    pub(crate) const R10G10B10_XR_BIAS_A2_UNORM: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________________|
[INFO] [stdout] 444 | ||     rgba!(f32, [u32; 1], |[rgba]| {
[INFO] [stdout] 445 | ||         let (rgb, a2) = unpack_rgba1010102_xr(rgba);
[INFO] [stdout] 446 | ||         let [r, g, b] = rgb.map(xr10::f32);
[INFO] [stdout] ...   ||
[INFO] [stdout] 458 | ||     }),
[INFO] [stdout] 459 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:470:54
[INFO] [stdout]     |
[INFO] [stdout] 470 |    pub(crate) const AYUV: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 471 | ||     rgba!(u8, [u8; 4], |ayuv| unpack_ayuv(ayuv, yuv8::n8, |x| x)),
[INFO] [stdout] 472 | ||     rgba!(u16, [u8; 4], |ayuv| unpack_ayuv(ayuv, yuv8::n16, n8::n16)),
[INFO] [stdout] 473 | ||     rgba!(f32, [u8; 4], |ayuv| unpack_ayuv(ayuv, yuv8::f32, n8::f32)),
[INFO] [stdout] 474 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:485:54
[INFO] [stdout]     |
[INFO] [stdout] 485 |    pub(crate) const Y410: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 486 | ||     rgba!(u16, u32, |y410| unpack_y410(y410, yuv10::n16, n2::n16)),
[INFO] [stdout] 487 | ||     rgba!(f32, u32, |y410| unpack_y410(y410, yuv10::f32, n2::f32)),
[INFO] [stdout] 488 | ||     rgba!(u8, u32, |y410| unpack_y410(y410, yuv10::n8, n2::n8)),
[INFO] [stdout] 489 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/decode/uncompressed.rs:500:54
[INFO] [stdout]     |
[INFO] [stdout] 500 |    pub(crate) const Y416: DecoderSet = DecoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 501 | ||     rgba!(u16, [u16; 4], |y416| unpack_y416(y416, yuv16::n16, |x| x)),
[INFO] [stdout] 502 | ||     rgba!(f32, [u16; 4], |y416| unpack_y416(
[INFO] [stdout] 503 | ||         y416,
[INFO] [stdout] ...   ||
[INFO] [stdout] 507 | ||     rgba!(u8, [u16; 4], |y416| unpack_y416(y416, yuv16::n8, n16::n8)),
[INFO] [stdout] 508 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:187:62
[INFO] [stdout]     |
[INFO] [stdout] 187 |    pub(crate) const BC1_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 188 | ||     block_universal::<4, 4, 8>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 189 | ||         let bc1_options = get_bc1_options(options);
[INFO] [stdout] 190 | ||         let mut block = get_4x4_rgba(data, row_pitch);
[INFO] [stdout] ...   ||
[INFO] [stdout] 204 | || .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 205 | || .with_fragment_size(BC1_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:230:62
[INFO] [stdout]     |
[INFO] [stdout] 230 |    pub(crate) const BC2_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 231 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 232 | ||         let (bc1_options, _) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 242 | || .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 243 | || .with_fragment_size(BC1_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:246:25
[INFO] [stdout]     |
[INFO] [stdout] 246 |        EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____-                   ^
[INFO] [stdout]     |  |_________________________|
[INFO] [stdout] 247 | ||         block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 248 | ||             let (bc1_options, _) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 259 | ||     .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 260 | ||     .with_fragment_size(BC1_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                           ^-
[INFO] [stdout]     | ||                                           ||
[INFO] [stdout]     | ||___________________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:271:62
[INFO] [stdout]     |
[INFO] [stdout] 271 |    pub(crate) const BC3_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 272 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 273 | ||         let (bc1_options, bc4_options) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 283 | || .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 284 | || .with_fragment_size(BC3_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:287:25
[INFO] [stdout]     |
[INFO] [stdout] 287 |        EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____-                   ^
[INFO] [stdout]     |  |_________________________|
[INFO] [stdout] 288 | ||         block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 289 | ||             let (bc1_options, bc4_options) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 300 | ||     .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 301 | ||     .with_fragment_size(BC3_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                           ^-
[INFO] [stdout]     | ||                                           ||
[INFO] [stdout]     | ||___________________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:304:25
[INFO] [stdout]     |
[INFO] [stdout] 304 |        EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____-                   ^
[INFO] [stdout]     |  |_________________________|
[INFO] [stdout] 305 | ||         block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 306 | ||             let (bc1_options, bc4_options) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 327 | ||     .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 328 | ||     .with_fragment_size(BC3_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                           ^-
[INFO] [stdout]     | ||                                           ||
[INFO] [stdout]     | ||___________________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:331:25
[INFO] [stdout]     |
[INFO] [stdout] 331 |        EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____-                   ^
[INFO] [stdout]     |  |_________________________|
[INFO] [stdout] 332 | ||         block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 333 | ||             let (bc1_options, bc4_options) = get_bc3_options(options);
[INFO] [stdout] ...   ||
[INFO] [stdout] 349 | ||     .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 350 | ||     .with_fragment_size(BC3_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                           ^-
[INFO] [stdout]     | ||                                           ||
[INFO] [stdout]     | ||___________________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                              creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:380:62
[INFO] [stdout]     |
[INFO] [stdout] 380 |    pub(crate) const BC4_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 381 | ||     block_universal::<4, 4, 8>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 382 | ||         let mut options = get_bc4_options(options);
[INFO] [stdout] 383 | ||         options.snorm = false;
[INFO] [stdout] ...   ||
[INFO] [stdout] 387 | || .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 388 | || .with_fragment_size(BC4_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:390:62
[INFO] [stdout]     |
[INFO] [stdout] 390 |    pub(crate) const BC4_SNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 391 | ||     block_universal::<4, 4, 8>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 392 | ||         let mut options = get_bc4_options(options);
[INFO] [stdout] 393 | ||         options.snorm = true;
[INFO] [stdout] ...   ||
[INFO] [stdout] 397 | || .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 398 | || .with_fragment_size(BC4_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:410:62
[INFO] [stdout]     |
[INFO] [stdout] 410 |    pub(crate) const BC5_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 411 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 412 | ||         let mut options = get_bc4_options(options);
[INFO] [stdout] 413 | ||         options.snorm = false;
[INFO] [stdout] ...   ||
[INFO] [stdout] 417 | || .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 418 | || .with_fragment_size(BC4_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:420:62
[INFO] [stdout]     |
[INFO] [stdout] 420 |    pub(crate) const BC5_SNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 421 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 422 | ||         let mut options = get_bc4_options(options);
[INFO] [stdout] 423 | ||         options.snorm = true;
[INFO] [stdout] ...   ||
[INFO] [stdout] 427 | || .add_flags(Flags::DITHER_COLOR)
[INFO] [stdout] 428 | || .with_fragment_size(BC4_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bc.rs:430:62
[INFO] [stdout]     |
[INFO] [stdout] 430 |    pub(crate) const BC7_UNORM: EncoderSet = EncoderSet::new_bc(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   __________________________________________-                   ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 431 | ||     block_universal::<4, 4, 16>(args, |data, row_pitch, options, out| {
[INFO] [stdout] 432 | ||         let block_vec: [Vec4; 16] = get_4x4_rgba_vec4(data, row_pitch);
[INFO] [stdout] ...   ||
[INFO] [stdout] 517 | || .add_flags(Flags::DITHER_ALL)
[INFO] [stdout] 518 | || .with_fragment_size(BC7_FRAGMENT_SIZE)]);
[INFO] [stdout]     | ||                                       ^-
[INFO] [stdout]     | ||                                       ||
[INFO] [stdout]     | ||_______________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |________________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                          creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]   --> src/encode/bi_planar.rs:88:64
[INFO] [stdout]    |
[INFO] [stdout] 88 |    pub(crate) const NV12: EncoderSet = EncoderSet::new_bi_planar(&[Encoder::new_universal(|args| {
[INFO] [stdout]    |   _____________________________________-                          ^
[INFO] [stdout]    |  |________________________________________________________________|
[INFO] [stdout] 89 | ||     bi_planar_universal(args, |block, _| {
[INFO] [stdout] 90 | ||         let block_yuv = block.map(|[r, g, b, _]| yuv8::from_rgb_f32([r, g, b]));
[INFO] [stdout] ...  ||
[INFO] [stdout] 97 | ||     })
[INFO] [stdout] 98 | || })]);
[INFO] [stdout]    | ||   ^-
[INFO] [stdout]    | ||   ||
[INFO] [stdout]    | ||___|temporary value is freed at the end of this statement
[INFO] [stdout]    | |____|argument requires that borrow lasts for `'static`
[INFO] [stdout]    |      creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bi_planar.rs:100:64
[INFO] [stdout]     |
[INFO] [stdout] 100 |    pub(crate) const P010: EncoderSet = EncoderSet::new_bi_planar(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____________________________________-                          ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 101 | ||     bi_planar_universal(args, |block, _| {
[INFO] [stdout] 102 | ||         let block_yuv = block.map(|[r, g, b, _]| yuv10::from_rgb_f32([r, g, b]));
[INFO] [stdout] ...   ||
[INFO] [stdout] 109 | ||     })
[INFO] [stdout] 110 | || })]);
[INFO] [stdout]     | ||   ^-
[INFO] [stdout]     | ||   ||
[INFO] [stdout]     | ||___|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |      creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/bi_planar.rs:112:64
[INFO] [stdout]     |
[INFO] [stdout] 112 |    pub(crate) const P016: EncoderSet = EncoderSet::new_bi_planar(&[Encoder::new_universal(|args| {
[INFO] [stdout]     |   _____________________________________-                          ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 113 | ||     bi_planar_universal(args, |block, _| {
[INFO] [stdout] 114 | ||         let block_yuv = block.map(|[r, g, b, _]| yuv16::from_rgb_f32([r, g, b]));
[INFO] [stdout] ...   ||
[INFO] [stdout] 121 | ||     })
[INFO] [stdout] 122 | || })]);
[INFO] [stdout]     | ||   ^-
[INFO] [stdout]     | ||   ||
[INFO] [stdout]     | ||___|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |      creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:125:22
[INFO] [stdout]     |
[INFO] [stdout] 125 |     EncoderSet::new(&[universal_subsample!(2, [u8; 4], to_rgbg).add_flags(Flags::EXACT_U8)]);
[INFO] [stdout]     |     -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |     |                |                                                                     |
[INFO] [stdout]     |     |                |                                                                     temporary value is freed at the end of this statement
[INFO] [stdout]     |     |                creates a temporary value which is freed while still in use
[INFO] [stdout]     |     argument requires that borrow lasts for `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:128:22
[INFO] [stdout]     |
[INFO] [stdout] 128 |        EncoderSet::new(&[universal_subsample!(2, [u8; 4], |pair| {
[INFO] [stdout]     |   _____-                ^
[INFO] [stdout]     |  |______________________|
[INFO] [stdout] 129 | ||         let [r, g0, b, g1] = to_rgbg(pair);
[INFO] [stdout] 130 | ||         [g0, r, g1, b]
[INFO] [stdout] 131 | ||     })
[INFO] [stdout] 132 | ||     .add_flags(Flags::EXACT_U8)]);
[INFO] [stdout]     | ||                                ^-
[INFO] [stdout]     | ||                                ||
[INFO] [stdout]     | ||________________________________|temporary value is freed at the end of this statement
[INFO] [stdout]     | |_________________________________|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |                                   creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:149:54
[INFO] [stdout]     |
[INFO] [stdout] 149 | pub(crate) const YUY2: EncoderSet = EncoderSet::new(&[universal_subsample!(2, [u8; 4], to_yuy2)]);
[INFO] [stdout]     |                                     -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |                                     |                |                                          |
[INFO] [stdout]     |                                     |                |                                          temporary value is freed at the end of this statement
[INFO] [stdout]     |                                     |                creates a temporary value which is freed while still in use
[INFO] [stdout]     |                                     argument requires that borrow lasts for `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:151:54
[INFO] [stdout]     |
[INFO] [stdout] 151 |    pub(crate) const UYVY: EncoderSet = EncoderSet::new(&[universal_subsample!(2, [u8; 4], |pair| {
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 152 | ||     let [y0, u, y1, v] = to_yuy2(pair);
[INFO] [stdout] 153 | ||     [u, y0, v, y1]
[INFO] [stdout] 154 | || })]);
[INFO] [stdout]     | ||   ^-
[INFO] [stdout]     | ||   ||
[INFO] [stdout]     | ||___|temporary value is freed at the end of this statement
[INFO] [stdout]     | |____|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |      creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:172:22
[INFO] [stdout]     |
[INFO] [stdout] 172 |        EncoderSet::new(&[
[INFO] [stdout]     |   _____-                ^
[INFO] [stdout]     |  |______________________|
[INFO] [stdout] 173 | ||         universal_subsample!(2, [u16; 4], |pair| to_y216(pair).map(|c| c & 0xFFC0))
[INFO] [stdout] 174 | ||             .add_flags(Flags::EXACT_U8),
[INFO] [stdout] 175 | ||     ]);
[INFO] [stdout]     | ||     ^-
[INFO] [stdout]     | ||     ||
[INFO] [stdout]     | ||_____|temporary value is freed at the end of this statement
[INFO] [stdout]     | |______|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |        creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:178:22
[INFO] [stdout]     |
[INFO] [stdout] 178 |     EncoderSet::new(&[universal_subsample!(2, [u16; 4], to_y216).add_flags(Flags::EXACT_U8)]);
[INFO] [stdout]     |     -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |     |                |                                                                      |
[INFO] [stdout]     |     |                |                                                                      temporary value is freed at the end of this statement
[INFO] [stdout]     |     |                creates a temporary value which is freed while still in use
[INFO] [stdout]     |     argument requires that borrow lasts for `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/sub_sampled.rs:180:58
[INFO] [stdout]     |
[INFO] [stdout] 180 |    pub(crate) const R1_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 181 | ||     universal_subsample!(8, u8, |block| {
[INFO] [stdout] 182 | ||         let mut out = 0_u8;
[INFO] [stdout] 183 | ||         for (i, &p) in block.iter().enumerate() {
[INFO] [stdout] ...   ||
[INFO] [stdout] 208 | ||     }).add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 209 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:382:62
[INFO] [stdout]     |
[INFO] [stdout] 382 |    pub(crate) const R8G8B8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 383 | ||     Encoder::copy(ColorFormat::RGB_U8),
[INFO] [stdout] 384 | ||     color_convert!(ColorFormat::RGB_U8),
[INFO] [stdout] 385 | ||     universal!([u8; 3], |[r, g, b, _]| [r, g, b].map(n8::from_f32)),
[INFO] [stdout] ...   ||
[INFO] [stdout] 396 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 397 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:399:62
[INFO] [stdout]     |
[INFO] [stdout] 399 |    pub(crate) const B8G8R8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 400 | ||     Encoder::new(ColorFormatSet::U8, Flags::EXACT_U8, |args| {
[INFO] [stdout] 401 | ||         fn process_line(line: &[u8], color: ColorFormat, out: &mut [u8]) {
[INFO] [stdout] 402 | ||             assert!(color.precision == Precision::U8);
[INFO] [stdout] ...   ||
[INFO] [stdout] 424 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 425 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:427:64
[INFO] [stdout]     |
[INFO] [stdout] 427 |    pub(crate) const R8G8B8A8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 428 | ||     Encoder::copy(ColorFormat::RGBA_U8),
[INFO] [stdout] 429 | ||     color_convert!(ColorFormat::RGBA_U8),
[INFO] [stdout] 430 | ||     universal!([u8; 4], rgba = n8::from_f32),
[INFO] [stdout] 431 | ||     universal_dither!([u8; 4], rgba = n8::from_f32, n8::f32),
[INFO] [stdout] 432 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:434:64
[INFO] [stdout]     |
[INFO] [stdout] 434 |    pub(crate) const R8G8B8A8_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 435 | ||     color_convert!(ColorFormat::RGBA_U8, snorm = true),
[INFO] [stdout] 436 | ||     universal!([u8; 4], rgba = s8::from_uf32),
[INFO] [stdout] 437 | ||     universal_dither!([u8; 4], rgba = s8::from_uf32, s8::uf32),
[INFO] [stdout] 438 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:440:64
[INFO] [stdout]     |
[INFO] [stdout] 440 |    pub(crate) const B8G8R8A8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 441 | ||     Encoder::new(ColorFormatSet::U8, Flags::EXACT_U8, |args| {
[INFO] [stdout] 442 | ||         fn process_line(line: &[u8], color: ColorFormat, out: &mut [u8]) {
[INFO] [stdout] 443 | ||             assert!(color.precision == Precision::U8);
[INFO] [stdout] ...   ||
[INFO] [stdout] 466 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 467 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:469:64
[INFO] [stdout]     |
[INFO] [stdout] 469 |    pub(crate) const B8G8R8X8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 470 | ||     Encoder::new(ColorFormatSet::U8, Flags::EXACT_U8, |args| {
[INFO] [stdout] 471 | ||         fn process_line(line: &[u8], color: ColorFormat, out: &mut [u8]) {
[INFO] [stdout] 472 | ||             assert!(color.precision == Precision::U8);
[INFO] [stdout] ...   ||
[INFO] [stdout] 502 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 503 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:505:62
[INFO] [stdout]     |
[INFO] [stdout] 505 |    pub(crate) const B5G6R5_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 506 | ||     universal!(u16, |[r, g, b, _]| {
[INFO] [stdout] 507 | ||         let r = n5::from_f32(r) as u16;
[INFO] [stdout] 508 | ||         let g = n6::from_f32(g) as u16;
[INFO] [stdout] ...   ||
[INFO] [stdout] 522 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 523 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:525:64
[INFO] [stdout]     |
[INFO] [stdout] 525 |    pub(crate) const B5G5R5A1_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 526 | ||     universal!(u16, |[r, g, b, a]| {
[INFO] [stdout] 527 | ||         let r = n5::from_f32(r) as u16;
[INFO] [stdout] 528 | ||         let g = n5::from_f32(g) as u16;
[INFO] [stdout] ...   ||
[INFO] [stdout] 549 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 550 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:559:64
[INFO] [stdout]     |
[INFO] [stdout] 559 |    pub(crate) const B4G4R4A4_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 560 | ||     universal!(u16, |[r, g, b, a]| {
[INFO] [stdout] 561 | ||         let r = n4::from_f32(r) as u16;
[INFO] [stdout] 562 | ||         let g = n4::from_f32(g) as u16;
[INFO] [stdout] ...   ||
[INFO] [stdout] 572 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 573 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:575:64
[INFO] [stdout]     |
[INFO] [stdout] 575 |    pub(crate) const A4B4G4R4_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _______________________________________________-                ^
[INFO] [stdout]     |  |________________________________________________________________|
[INFO] [stdout] 576 | ||     universal!(u16, |[r, g, b, a]| {
[INFO] [stdout] 577 | ||         let r = n4::from_f32(r) as u16;
[INFO] [stdout] 578 | ||         let g = n4::from_f32(g) as u16;
[INFO] [stdout] ...   ||
[INFO] [stdout] 588 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 589 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:591:58
[INFO] [stdout]     |
[INFO] [stdout] 591 |    pub(crate) const R8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 592 | ||     Encoder::copy(ColorFormat::GRAYSCALE_U8),
[INFO] [stdout] 593 | ||     color_convert!(ColorFormat::GRAYSCALE_U8),
[INFO] [stdout] 594 | ||     universal!(u8, gray = n8::from_f32),
[INFO] [stdout] 595 | ||     universal_dither!(u8, gray = n8::from_f32, n8::f32),
[INFO] [stdout] 596 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:598:58
[INFO] [stdout]     |
[INFO] [stdout] 598 |    pub(crate) const R8_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 599 | ||     color_convert!(ColorFormat::GRAYSCALE_U8, snorm = true),
[INFO] [stdout] 600 | ||     universal!(u8, gray = s8::from_uf32),
[INFO] [stdout] 601 | ||     universal_dither!(u8, gray = s8::from_uf32, s8::uf32),
[INFO] [stdout] 602 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:604:60
[INFO] [stdout]     |
[INFO] [stdout] 604 |    pub(crate) const R8G8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________|
[INFO] [stdout] 605 | ||     universal!([u8; 2], rg = n8::from_f32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 606 | ||     universal_dither!([u8; 2], rg = n8::from_f32, n8::f32),
[INFO] [stdout] 607 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:609:60
[INFO] [stdout]     |
[INFO] [stdout] 609 |    pub(crate) const R8G8_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________|
[INFO] [stdout] 610 | ||     universal!([u8; 2], rg = s8::from_uf32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 611 | ||     universal_dither!([u8; 2], rg = s8::from_uf32, s8::uf32),
[INFO] [stdout] 612 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:614:58
[INFO] [stdout]     |
[INFO] [stdout] 614 |    pub(crate) const A8_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _________________________________________-                ^
[INFO] [stdout]     |  |__________________________________________________________|
[INFO] [stdout] 615 | ||     Encoder::copy(ColorFormat::ALPHA_U8),
[INFO] [stdout] 616 | ||     color_convert!(ColorFormat::ALPHA_U8),
[INFO] [stdout] 617 | ||     universal!(u8, |[_, _, _, a]| n8::from_f32(a)),
[INFO] [stdout] ...   ||
[INFO] [stdout] 626 | ||     .add_flags(Flags::DITHER_ALPHA),
[INFO] [stdout] 627 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:629:59
[INFO] [stdout]     |
[INFO] [stdout] 629 |    pub(crate) const R16_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 630 | ||     Encoder::copy(ColorFormat::GRAYSCALE_U16),
[INFO] [stdout] 631 | ||     color_convert!(ColorFormat::GRAYSCALE_U16),
[INFO] [stdout] 632 | ||     universal!(u16, gray = n16::from_f32),
[INFO] [stdout] 633 | ||     universal_dither!(u16, gray = n16::from_f32, n16::f32),
[INFO] [stdout] 634 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:636:59
[INFO] [stdout]     |
[INFO] [stdout] 636 |    pub(crate) const R16_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 637 | ||     color_convert!(ColorFormat::GRAYSCALE_U16, snorm = true),
[INFO] [stdout] 638 | ||     universal!(u16, gray = s16::from_uf32),
[INFO] [stdout] 639 | ||     universal_dither!(u16, gray = s16::from_uf32, s16::uf32),
[INFO] [stdout] 640 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:642:62
[INFO] [stdout]     |
[INFO] [stdout] 642 |    pub(crate) const R16G16_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 643 | ||     universal!([u16; 2], rg = n16::from_f32).add_flags(Flags::EXACT_U16),
[INFO] [stdout] 644 | ||     universal_dither!([u16; 2], rg = n16::from_f32, n16::f32),
[INFO] [stdout] 645 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:647:62
[INFO] [stdout]     |
[INFO] [stdout] 647 |    pub(crate) const R16G16_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 648 | ||     universal!([u16; 2], rg = s16::from_uf32).add_flags(Flags::EXACT_U16),
[INFO] [stdout] 649 | ||     universal_dither!([u16; 2], rg = s16::from_uf32, s16::uf32),
[INFO] [stdout] 650 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:652:68
[INFO] [stdout]     |
[INFO] [stdout] 652 |    pub(crate) const R16G16B16A16_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 653 | ||     Encoder::copy(ColorFormat::RGBA_U16),
[INFO] [stdout] 654 | ||     color_convert!(ColorFormat::RGBA_U16),
[INFO] [stdout] 655 | ||     universal!([u16; 4], rgba = n16::from_f32),
[INFO] [stdout] 656 | ||     universal_dither!([u16; 4], rgba = n16::from_f32, n16::f32),
[INFO] [stdout] 657 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:659:68
[INFO] [stdout]     |
[INFO] [stdout] 659 |    pub(crate) const R16G16B16A16_SNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 660 | ||     color_convert!(ColorFormat::RGBA_U16, snorm = true),
[INFO] [stdout] 661 | ||     universal!([u16; 4], rgba = s16::from_uf32),
[INFO] [stdout] 662 | ||     universal_dither!([u16; 4], rgba = s16::from_uf32, s16::uf32),
[INFO] [stdout] 663 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:665:67
[INFO] [stdout]     |
[INFO] [stdout] 665 |    pub(crate) const R10G10B10A2_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________________|
[INFO] [stdout] 666 | ||     universal!(u32, |[r, g, b, a]| {
[INFO] [stdout] 667 | ||         let r = n10::from_f32(r) as u32;
[INFO] [stdout] 668 | ||         let g = n10::from_f32(g) as u32;
[INFO] [stdout] ...   ||
[INFO] [stdout] 690 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 691 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:693:65
[INFO] [stdout]     |
[INFO] [stdout] 693 |    pub(crate) const R11G11B10_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 694 | ||     universal!(u32, |[r, g, b, _]| {
[INFO] [stdout] 695 | ||         let r11 = fp11::from_f32(r) as u32;
[INFO] [stdout] 696 | ||         let g11 = fp11::from_f32(g) as u32;
[INFO] [stdout] ...   ||
[INFO] [stdout] 715 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 716 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:718:68
[INFO] [stdout]     |
[INFO] [stdout] 718 |    pub(crate) const R9G9B9E5_SHAREDEXP: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 719 | ||     universal!(u32, |[r, g, b, _]| { rgb9995f::from_f32([r, g, b]) }).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 720 | ||     universal_dither!(u32, |pixel| {
[INFO] [stdout] 721 | ||         let rgb = rgb9995f::from_f32([pixel[0], pixel[1], pixel[2]]);
[INFO] [stdout] ...   ||
[INFO] [stdout] 729 | ||     .add_flags(Flags::DITHER_COLOR),
[INFO] [stdout] 730 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:732:59
[INFO] [stdout]     |
[INFO] [stdout] 732 |    pub(crate) const R16_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 733 | ||     universal!(u16, gray = fp16::from_f32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 734 | ||     universal_dither!(u16, gray = fp16::from_f32, fp16::f32),
[INFO] [stdout] 735 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:737:62
[INFO] [stdout]     |
[INFO] [stdout] 737 |    pub(crate) const R16G16_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________________|
[INFO] [stdout] 738 | ||     universal!([u16; 2], rg = fp16::from_f32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 739 | ||     universal_dither!([u16; 2], rg = fp16::from_f32, fp16::f32),
[INFO] [stdout] 740 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:742:68
[INFO] [stdout]     |
[INFO] [stdout] 742 |    pub(crate) const R16G16B16A16_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 743 | ||     universal!([u16; 4], rgba = fp16::from_f32).add_flags(Flags::EXACT_U8),
[INFO] [stdout] 744 | ||     universal_dither!([u16; 4], rgba = fp16::from_f32, fp16::f32),
[INFO] [stdout] 745 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:747:59
[INFO] [stdout]     |
[INFO] [stdout] 747 |    pub(crate) const R32_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   __________________________________________-                ^
[INFO] [stdout]     |  |___________________________________________________________|
[INFO] [stdout] 748 | ||     Encoder::copy(ColorFormat::GRAYSCALE_F32),
[INFO] [stdout] 749 | ||     color_convert!(ColorFormat::GRAYSCALE_F32),
[INFO] [stdout] 750 | ||     universal!(f32, gray = |r| r),
[INFO] [stdout] 751 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:754:22
[INFO] [stdout]     |
[INFO] [stdout] 754 |     EncoderSet::new(&[universal!([f32; 2], rg = |rg| rg).add_flags(Flags::EXACT_F32)]);
[INFO] [stdout]     |     -----------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]     |     |                |                                                               |
[INFO] [stdout]     |     |                |                                                               temporary value is freed at the end of this statement
[INFO] [stdout]     |     |                creates a temporary value which is freed while still in use
[INFO] [stdout]     |     argument requires that borrow lasts for `'static`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:756:65
[INFO] [stdout]     |
[INFO] [stdout] 756 |    pub(crate) const R32G32B32_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ________________________________________________-                ^
[INFO] [stdout]     |  |_________________________________________________________________|
[INFO] [stdout] 757 | ||     Encoder::copy(ColorFormat::RGB_F32),
[INFO] [stdout] 758 | ||     color_convert!(ColorFormat::RGB_F32),
[INFO] [stdout] 759 | ||     universal!([f32; 3], |[r, g, b, _]| [r, g, b]),
[INFO] [stdout] 760 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:762:68
[INFO] [stdout]     |
[INFO] [stdout] 762 |    pub(crate) const R32G32B32A32_FLOAT: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________|
[INFO] [stdout] 763 | ||     Encoder::copy(ColorFormat::RGBA_F32),
[INFO] [stdout] 764 | ||     color_convert!(ColorFormat::RGBA_F32),
[INFO] [stdout] 765 | ||     universal!([f32; 4], |rgba| rgba),
[INFO] [stdout] 766 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:768:76
[INFO] [stdout]     |
[INFO] [stdout] 768 |    pub(crate) const R10G10B10_XR_BIAS_A2_UNORM: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   ___________________________________________________________-                ^
[INFO] [stdout]     |  |____________________________________________________________________________|
[INFO] [stdout] 769 | ||     universal!(u32, |[r, g, b, a]| {
[INFO] [stdout] 770 | ||         let r = xr10::from_f32(r) as u32;
[INFO] [stdout] 771 | ||         let g = xr10::from_f32(g) as u32;
[INFO] [stdout] ...   ||
[INFO] [stdout] 793 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 794 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:796:54
[INFO] [stdout]     |
[INFO] [stdout] 796 |    pub(crate) const AYUV: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 797 | ||     universal!([u8; 4], |[r, g, b, a]| {
[INFO] [stdout] 798 | ||         let [y, u, v] = yuv8::from_rgb_f32([r, g, b]);
[INFO] [stdout] 799 | ||         let a = n8::from_f32(a);
[INFO] [stdout] ...   ||
[INFO] [stdout] 812 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 813 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:815:54
[INFO] [stdout]     |
[INFO] [stdout] 815 |    pub(crate) const Y410: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 816 | ||     universal!(u32, |[r, g, b, a]| {
[INFO] [stdout] 817 | ||         let [y, u, v] = yuv10::from_rgb_f32([r, g, b]);
[INFO] [stdout] 818 | ||         let a = n2::from_f32(a) as u32;
[INFO] [stdout] ...   ||
[INFO] [stdout] 835 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 836 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]    --> src/encode/uncompressed.rs:838:54
[INFO] [stdout]     |
[INFO] [stdout] 838 |    pub(crate) const Y416: EncoderSet = EncoderSet::new(&[
[INFO] [stdout]     |   _____________________________________-                ^
[INFO] [stdout]     |  |______________________________________________________|
[INFO] [stdout] 839 | ||     universal!([u16; 4], |[r, g, b, a]| {
[INFO] [stdout] 840 | ||         let [y, u, v] = yuv16::from_rgb_f32([r, g, b]);
[INFO] [stdout] 841 | ||         let a = n16::from_f32(a);
[INFO] [stdout] ...   ||
[INFO] [stdout] 855 | ||     .add_flags(Flags::DITHER_ALL),
[INFO] [stdout] 856 | || ]);
[INFO] [stdout]     | || ^-
[INFO] [stdout]     | || ||
[INFO] [stdout]     | ||_|temporary value is freed at the end of this statement
[INFO] [stdout]     | |__|argument requires that borrow lasts for `'static`
[INFO] [stdout]     |    creates a temporary value which is freed while still in use
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dds` (lib) due to 130 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `dds` (lib test) due to 130 previous errors
[INFO] running `Command { std: "docker" "inspect" "f93fcbd306d736ef6215cbe0015ace89b72d34f130210a8ce5504657e0ec5beb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f93fcbd306d736ef6215cbe0015ace89b72d34f130210a8ce5504657e0ec5beb", kill_on_drop: false }`
[INFO] [stdout] f93fcbd306d736ef6215cbe0015ace89b72d34f130210a8ce5504657e0ec5beb
