[INFO] fetching crate linkle 0.2.11... [INFO] checking linkle-0.2.11 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] extracting crate linkle 0.2.11 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate linkle 0.2.11 on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain [INFO] started tweaking crates.io crate linkle 0.2.11 [INFO] finished tweaking crates.io crate linkle 0.2.11 [INFO] tweaked toml for crates.io crate linkle 0.2.11 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate crates.io crate linkle 0.2.11 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 44a9a0b2d134ff066c58ac49aa97d281a9d0c6e72c25e4b15ec34743d7da65f7 [INFO] running `Command { std: "docker" "start" "-a" "44a9a0b2d134ff066c58ac49aa97d281a9d0c6e72c25e4b15ec34743d7da65f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "44a9a0b2d134ff066c58ac49aa97d281a9d0c6e72c25e4b15ec34743d7da65f7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "44a9a0b2d134ff066c58ac49aa97d281a9d0c6e72c25e4b15ec34743d7da65f7", kill_on_drop: false }` [INFO] [stdout] 44a9a0b2d134ff066c58ac49aa97d281a9d0c6e72c25e4b15ec34743d7da65f7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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 -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d15c7e466b787f8f330465d5b175f213827ab9e244779cd8e95ebbac09df3132 [INFO] running `Command { std: "docker" "start" "-a" "d15c7e466b787f8f330465d5b175f213827ab9e244779cd8e95ebbac09df3132", kill_on_drop: false }` [INFO] [stderr] Compiling typenum v1.12.0 [INFO] [stderr] Compiling generic-array v0.14.4 [INFO] [stderr] Compiling syn v1.0.48 [INFO] [stderr] Checking ppv-lite86 v0.2.9 [INFO] [stderr] Compiling miniz_oxide v0.4.3 [INFO] [stderr] Checking getrandom v0.1.15 [INFO] [stderr] Compiling cc v1.0.61 [INFO] [stderr] Checking ahash v0.4.6 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking adler v0.2.3 [INFO] [stderr] Checking gimli v0.23.0 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Compiling serde v1.0.117 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking opaque-debug v0.3.0 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking hashbrown v0.9.1 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking rustc-demangle v0.1.18 [INFO] [stderr] Checking subtle v2.3.0 [INFO] [stderr] Checking object v0.22.0 [INFO] [stderr] Checking dlv-list v0.2.2 [INFO] [stderr] Checking dirs-sys-next v0.1.1 [INFO] [stderr] Compiling lz4-sys v1.9.2 [INFO] [stderr] Checking ordered-multimap v0.3.0 [INFO] [stderr] Checking cpuid-bool v0.1.2 [INFO] [stderr] Checking block-padding v0.2.1 [INFO] [stderr] Checking byteorder v0.5.3 [INFO] [stderr] Checking rust-ini v0.16.0 [INFO] [stderr] Checking cipher v0.2.1 [INFO] [stderr] Checking dbl v0.3.0 [INFO] [stderr] Checking digest v0.9.0 [INFO] [stderr] Checking crypto-mac v0.10.0 [INFO] [stderr] Checking aes-soft v0.6.2 [INFO] [stderr] Checking block-buffer v0.9.0 [INFO] [stderr] Checking sha2 v0.9.1 [INFO] [stderr] Checking cmac v0.5.1 [INFO] [stderr] Checking ctr v0.6.0 [INFO] [stderr] Checking block-modes v0.7.0 [INFO] [stderr] Checking addr2line v0.14.0 [INFO] [stderr] Checking elf v0.0.10 [INFO] [stderr] Checking aes v0.6.0 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking blz-nx v1.0.1 [INFO] [stderr] Checking bit_field v0.10.1 [INFO] [stderr] Checking backtrace v0.3.54 [INFO] [stderr] Checking serde_json v1.0.59 [INFO] [stderr] Compiling snafu-derive v0.6.9 [INFO] [stderr] Compiling derive_more v0.99.11 [INFO] [stderr] Compiling serde_derive v1.0.117 [INFO] [stderr] Checking snafu v0.6.9 [INFO] [stderr] Checking lz4 v1.23.2 [INFO] [stderr] Checking linkle v0.2.11 (/opt/rustwide/workdir) [INFO] [stdout] warning: fields `nca_hdr_fixed_key_modulus`, `acid_fixed_key_modulus`, and `package2_fixed_key_modulus` are never read [INFO] [stdout] --> src/pki.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Keys { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 230 | nca_hdr_fixed_key_modulus: [Option; 2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 231 | acid_fixed_key_modulus: [Option; 2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 232 | package2_fixed_key_modulus: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Keys` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/error.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 88 | fn with_path>(self, path: U) -> Result { [INFO] [stdout] | ---- ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 89 | self.map_err(|err| err.with_path(path)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/nacp.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 59 | let file = File::open(input)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 60 | match serde_json::from_reader(file) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/nxo.rs:195:12 [INFO] [stdout] | [INFO] [stdout] 131 | let mut file = File::open(path)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(NxoFile { [INFO] [stdout] | ____________^ [INFO] [stdout] 196 | | file, [INFO] [stdout] 197 | | machine: elf_file.ehdr.machine, [INFO] [stdout] 198 | | text_segment: *text_segment, [INFO] [stdout] ... | [INFO] [stdout] 206 | | eh_frame_hdr_section, [INFO] [stdout] 207 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/pfs0.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 40 | let mut files = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 50 | Ok(Pfs0 { files }) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/pfs0.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn from_reader(f: R) -> Result { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 54 | // Header [INFO] [stdout] 55 | let mut f = std::io::BufReader::new(f); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 81 | let mut finalfiles = Vec::with_capacity(filecount as usize); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 94 | Ok(Pfs0 { files: finalfiles }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/pfs0.rs:219:46 [INFO] [stdout] | [INFO] [stdout] 219 | File::open(path).map(|v| Box::new(v) as Box) [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 78 | fn new(parent: Weak>, path: PathBuf) -> Rc> { [INFO] [stdout] | ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 85 | Rc::new(RefCell::new(RomFsDirEntCtx { [INFO] [stdout] | _________________^ [INFO] [stdout] 86 | | system_path: path, [INFO] [stdout] 87 | | name: filename, [INFO] [stdout] 88 | | entry_offset: 0, [INFO] [stdout] ... | [INFO] [stdout] 91 | | file: vec![], [INFO] [stdout] 92 | | })) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:195:38 [INFO] [stdout] | [INFO] [stdout] 195 | .sort_by_key(|v| v.borrow().name.clone()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:208:31 [INFO] [stdout] | [INFO] [stdout] 208 | .find(|v| v.borrow().name == component) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:227:42 [INFO] [stdout] | [INFO] [stdout] 227 | .sort_by_key(|v| v.borrow().name.clone()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | self.files.sort_by_key(|v| v.borrow().internal_path()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:237:35 [INFO] [stdout] | [INFO] [stdout] 237 | self.dirs.sort_by_key(|v| v.borrow().internal_path()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:337:34 [INFO] [stdout] | [INFO] [stdout] 337 | .sort_by_key(|v| v.borrow().name.clone()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:341:34 [INFO] [stdout] | [INFO] [stdout] 341 | .sort_by_key(|v| v.borrow().name.clone()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:344:35 [INFO] [stdout] | [INFO] [stdout] 344 | ctx.files.sort_by_key(|v| v.borrow().internal_path()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:345:34 [INFO] [stdout] | [INFO] [stdout] 345 | ctx.dirs.sort_by_key(|v| v.borrow().internal_path()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:410:31 [INFO] [stdout] | [INFO] [stdout] 410 | .map(|window| window[1].borrow().entry_offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:434:32 [INFO] [stdout] | [INFO] [stdout] 434 | .find(|window| window[0].borrow().internal_path() == dir.internal_path()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:435:31 [INFO] [stdout] | [INFO] [stdout] 435 | .map(|window| window[1].borrow().entry_offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:444:30 [INFO] [stdout] | [INFO] [stdout] 444 | .map(|v| v.borrow().entry_offset) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:450:30 [INFO] [stdout] | [INFO] [stdout] 450 | .map(|v| v.borrow().entry_offset) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 previous errors; 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `linkle` (lib test) due to 22 previous errors; 31 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: fields `nca_hdr_fixed_key_modulus`, `acid_fixed_key_modulus`, and `package2_fixed_key_modulus` are never read [INFO] [stdout] --> src/pki.rs:230:5 [INFO] [stdout] | [INFO] [stdout] 180 | pub struct Keys { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 230 | nca_hdr_fixed_key_modulus: [Option; 2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 231 | acid_fixed_key_modulus: [Option; 2], [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 232 | package2_fixed_key_modulus: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Keys` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/error.rs:89:22 [INFO] [stdout] | [INFO] [stdout] 88 | fn with_path>(self, path: U) -> Result { [INFO] [stdout] | ---- ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 89 | self.map_err(|err| err.with_path(path)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/nacp.rs:60:15 [INFO] [stdout] | [INFO] [stdout] 59 | let file = File::open(input)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 60 | match serde_json::from_reader(file) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/nxo.rs:195:12 [INFO] [stdout] | [INFO] [stdout] 131 | let mut file = File::open(path)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 195 | Ok(NxoFile { [INFO] [stdout] | ____________^ [INFO] [stdout] 196 | | file, [INFO] [stdout] 197 | | machine: elf_file.ehdr.machine, [INFO] [stdout] 198 | | text_segment: *text_segment, [INFO] [stdout] ... | [INFO] [stdout] 206 | | eh_frame_hdr_section, [INFO] [stdout] 207 | | }) [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/pfs0.rs:50:12 [INFO] [stdout] | [INFO] [stdout] 40 | let mut files = Vec::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 50 | Ok(Pfs0 { files }) [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/pfs0.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 53 | pub fn from_reader(f: R) -> Result { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 54 | // Header [INFO] [stdout] 55 | let mut f = std::io::BufReader::new(f); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 81 | let mut finalfiles = Vec::with_capacity(filecount as usize); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 94 | Ok(Pfs0 { files: finalfiles }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/pfs0.rs:219:46 [INFO] [stdout] | [INFO] [stdout] 219 | File::open(path).map(|v| Box::new(v) as Box) [INFO] [stdout] | - ^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:85:17 [INFO] [stdout] | [INFO] [stdout] 78 | fn new(parent: Weak>, path: PathBuf) -> Rc> { [INFO] [stdout] | ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 85 | Rc::new(RefCell::new(RomFsDirEntCtx { [INFO] [stdout] | _________________^ [INFO] [stdout] 86 | | system_path: path, [INFO] [stdout] 87 | | name: filename, [INFO] [stdout] 88 | | entry_offset: 0, [INFO] [stdout] ... | [INFO] [stdout] 91 | | file: vec![], [INFO] [stdout] 92 | | })) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:195:38 [INFO] [stdout] | [INFO] [stdout] 195 | .sort_by_key(|v| v.borrow().name.clone()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:208:31 [INFO] [stdout] | [INFO] [stdout] 208 | .find(|v| v.borrow().name == component) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:227:42 [INFO] [stdout] | [INFO] [stdout] 227 | .sort_by_key(|v| v.borrow().name.clone()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:236:36 [INFO] [stdout] | [INFO] [stdout] 236 | self.files.sort_by_key(|v| v.borrow().internal_path()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:237:35 [INFO] [stdout] | [INFO] [stdout] 237 | self.dirs.sort_by_key(|v| v.borrow().internal_path()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:337:34 [INFO] [stdout] | [INFO] [stdout] 337 | .sort_by_key(|v| v.borrow().name.clone()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:341:34 [INFO] [stdout] | [INFO] [stdout] 341 | .sort_by_key(|v| v.borrow().name.clone()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:344:35 [INFO] [stdout] | [INFO] [stdout] 344 | ctx.files.sort_by_key(|v| v.borrow().internal_path()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:345:34 [INFO] [stdout] | [INFO] [stdout] 345 | ctx.dirs.sort_by_key(|v| v.borrow().internal_path()); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:410:31 [INFO] [stdout] | [INFO] [stdout] 410 | .map(|window| window[1].borrow().entry_offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:434:32 [INFO] [stdout] | [INFO] [stdout] 434 | .find(|window| window[0].borrow().internal_path() == dir.internal_path()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:435:31 [INFO] [stdout] | [INFO] [stdout] 435 | .map(|window| window[1].borrow().entry_offset); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:444:30 [INFO] [stdout] | [INFO] [stdout] 444 | .map(|v| v.borrow().entry_offset) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/format/romfs.rs:450:30 [INFO] [stdout] | [INFO] [stdout] 450 | .map(|v| v.borrow().entry_offset) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(for_loops_over_fallibles)]` on by default [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key_xts` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 268 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: for loop over a `&Option`. This is more readably written as an `if let` statement [INFO] [stdout] --> src/pki.rs:241:32 [INFO] [stdout] | [INFO] [stdout] 241 | for key in &$self.$keyname { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 937 | keys!(self); [INFO] [stdout] | ----------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this warning originates in the macro `single_key` which comes from the expansion of the macro `keys` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: to check pattern in a loop use `while let` [INFO] [stdout] | [INFO] [stdout] 241 | while let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~~~~ ~~~ [INFO] [stdout] help: consider using `if let` to clear intent [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(key) = &$self.$keyname { [INFO] [stdout] | ~~~~~~~~~~~~ ~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 previous errors; 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `linkle` (lib) due to 22 previous errors; 31 warnings emitted [INFO] running `Command { std: "docker" "inspect" "d15c7e466b787f8f330465d5b175f213827ab9e244779cd8e95ebbac09df3132", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d15c7e466b787f8f330465d5b175f213827ab9e244779cd8e95ebbac09df3132", kill_on_drop: false }` [INFO] [stdout] d15c7e466b787f8f330465d5b175f213827ab9e244779cd8e95ebbac09df3132