[INFO] cloning repository https://github.com/mr-adult/tree-iterators-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mr-adult/tree-iterators-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmr-adult%2Ftree-iterators-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmr-adult%2Ftree-iterators-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7061c953ba718ea35e0b8937bc5f1d08a3ea91af
[INFO] checking mr-adult/tree-iterators-rs against try#6757d700f93f6d16c8b39cf79e96b019bd570e7d for pr-155299
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmr-adult%2Ftree-iterators-rs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mr-adult/tree-iterators-rs
[INFO] finished tweaking git repo https://github.com/mr-adult/tree-iterators-rs
[INFO] tweaked toml for git repo https://github.com/mr-adult/tree-iterators-rs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mr-adult/tree-iterators-rs on toolchain 6757d700f93f6d16c8b39cf79e96b019bd570e7d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6757d700f93f6d16c8b39cf79e96b019bd570e7d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mr-adult/tree-iterators-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6757d700f93f6d16c8b39cf79e96b019bd570e7d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[ERROR] error running command: no output for 300 seconds
[INFO] checking mr-adult/tree-iterators-rs against try#6757d700f93f6d16c8b39cf79e96b019bd570e7d for pr-155299
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmr-adult%2Ftree-iterators-rs" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mr-adult/tree-iterators-rs
[INFO] finished tweaking git repo https://github.com/mr-adult/tree-iterators-rs
[INFO] tweaked toml for git repo https://github.com/mr-adult/tree-iterators-rs written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mr-adult/tree-iterators-rs on toolchain 6757d700f93f6d16c8b39cf79e96b019bd570e7d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6757d700f93f6d16c8b39cf79e96b019bd570e7d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mr-adult/tree-iterators-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+6757d700f93f6d16c8b39cf79e96b019bd570e7d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+6757d700f93f6d16c8b39cf79e96b019bd570e7d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6b80f1c1145e111d10726d04ed00074f102d06b7cef40517b09e0e7070153856
[INFO] running `Command { std: "docker" "start" "-a" "6b80f1c1145e111d10726d04ed00074f102d06b7cef40517b09e0e7070153856", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6b80f1c1145e111d10726d04ed00074f102d06b7cef40517b09e0e7070153856", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6b80f1c1145e111d10726d04ed00074f102d06b7cef40517b09e0e7070153856", kill_on_drop: false }`
[INFO] [stdout] 6b80f1c1145e111d10726d04ed00074f102d06b7cef40517b09e0e7070153856
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+6757d700f93f6d16c8b39cf79e96b019bd570e7d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a747a8cae3add0810d7f70214fc1614b2d6d3141911c0807b2e35dad4faf0d6d
[INFO] running `Command { std: "docker" "start" "-a" "a747a8cae3add0810d7f70214fc1614b2d6d3141911c0807b2e35dad4faf0d6d", kill_on_drop: false }`
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking tree_iterators_rs v3.6.0 (/opt/rustwide/workdir/tree_iterators_rs)
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/bfs_iterators/mod.rs:218:40
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 while let Some(next) = iter.next() {
[INFO] [stdout]     |                                ----    ^^^^^^^^^^^
[INFO] [stdout]     |                                |       |
[INFO] [stdout]     |                                |       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                |       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `next` calls a custom destructor
[INFO] [stdout]     |                                `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 223 |                         let (value, children) = next.$get_value_and_children_binary();
[INFO] [stdout]     |                                                 -------------------------------------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 248 |                         self.current_context.ancestors.pop();
[INFO] [stdout]     |                         ------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 |                 self.iterator_queue.pop_front();
[INFO] [stdout]     |                 -------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/bfs_iterators/owned.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 |     bfs_context_binary_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: requested on the command line with `-W tail-expr-drop-order`
[INFO] [stdout]     = note: this warning originates in the macro `bfs_context_binary_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/bfs_iterators/mod.rs:218:40
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 while let Some(next) = iter.next() {
[INFO] [stdout]     |                                ----    ^^^^^^^^^^^
[INFO] [stdout]     |                                |       |
[INFO] [stdout]     |                                |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `next` calls a custom destructor
[INFO] [stdout]     |                                `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 223 |                         let (value, children) = next.$get_value_and_children_binary();
[INFO] [stdout]     |                                                 -------------------------------------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/bfs_iterators/owned.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 |     bfs_context_binary_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `bfs_context_binary_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_inorder_iterators/mod.rs:57:51
[INFO] [stdout]     |
[INFO] [stdout]  40 |             let mut current = None;
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `current` calls a custom destructor
[INFO] [stdout]     |                 `current` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             self.item_stack.pop();
[INFO] [stdout]     |                             ---------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                 if let Some(top_of_right_stack) = self.right_stack.pop() {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  64 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_inorder_iterators/owned.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     dfs_inorder_ancestors_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `dfs_inorder_ancestors_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_inorder_iterators/owned.rs:246:47
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let mut current = None;
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `current` calls a custom destructor
[INFO] [stdout]     |             `current` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 231 |                         self.current_context.ancestors.pop();
[INFO] [stdout]     |                         ------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |             if let Some(top_of_right_stack) = self.right_stack.pop() {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_postorder_iterators/owned.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 if let Some(node) = top.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                     let (value, children) = node.get_value_and_children();
[INFO] [stdout]     |                                             -----------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 165 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/bfs_iterators/mod.rs:218:40
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 while let Some(next) = iter.next() {
[INFO] [stdout]     |                                ----    ^^^^^^^^^^^
[INFO] [stdout]     |                                |       |
[INFO] [stdout]     |                                |       this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]     |                                |       up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `next` calls a custom destructor
[INFO] [stdout]     |                                `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 223 |                         let (value, children) = next.$get_value_and_children_binary();
[INFO] [stdout]     |                                                 -------------------------------------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] ...
[INFO] [stdout] 248 |                         self.current_context.ancestors.pop();
[INFO] [stdout]     |                         ------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 254 |                 self.iterator_queue.pop_front();
[INFO] [stdout]     |                 -------------------------------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/bfs_iterators/owned.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 |     bfs_context_binary_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: requested on the command line with `-W tail-expr-drop-order`
[INFO] [stdout]     = note: this warning originates in the macro `bfs_context_binary_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/bfs_iterators/mod.rs:218:40
[INFO] [stdout]     |
[INFO] [stdout] 218 |                 while let Some(next) = iter.next() {
[INFO] [stdout]     |                                ----    ^^^^^^^^^^^
[INFO] [stdout]     |                                |       |
[INFO] [stdout]     |                                |       this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                |       up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                `next` calls a custom destructor
[INFO] [stdout]     |                                `next` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 223 |                         let (value, children) = next.$get_value_and_children_binary();
[INFO] [stdout]     |                                                 -------------------------------------
[INFO] [stdout]     |                                                 |
[INFO] [stdout]     |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 230 |                 }
[INFO] [stdout]     |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/bfs_iterators/owned.rs:403:5
[INFO] [stdout]     |
[INFO] [stdout] 403 |     bfs_context_binary_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     -------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `bfs_context_binary_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_inorder_iterators/mod.rs:57:51
[INFO] [stdout]     |
[INFO] [stdout]  40 |             let mut current = None;
[INFO] [stdout]     |                 -----------
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 `current` calls a custom destructor
[INFO] [stdout]     |                 `current` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  45 |                             self.item_stack.pop();
[INFO] [stdout]     |                             ---------------------
[INFO] [stdout]     |                             |
[INFO] [stdout]     |                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  57 |                 if let Some(top_of_right_stack) = self.right_stack.pop() {
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                                   |
[INFO] [stdout]     |                                                   this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                                   up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  64 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_inorder_iterators/owned.rs:178:5
[INFO] [stdout]     |
[INFO] [stdout] 178 |     dfs_inorder_ancestors_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     ----------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `dfs_inorder_ancestors_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_inorder_iterators/owned.rs:246:47
[INFO] [stdout]     |
[INFO] [stdout] 226 |         let mut current = None;
[INFO] [stdout]     |             -----------
[INFO] [stdout]     |             |
[INFO] [stdout]     |             `current` calls a custom destructor
[INFO] [stdout]     |             `current` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 231 |                         self.current_context.ancestors.pop();
[INFO] [stdout]     |                         ------------------------------------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 246 |             if let Some(top_of_right_stack) = self.right_stack.pop() {
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                               |
[INFO] [stdout]     |                                               this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                               up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 253 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:86:40
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 if let Some(current) = current_tree_iterator.next() {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 89 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 90 |
[INFO] [stdout] 91 |             if let Some(next_tree) = self.tree_collection.next() {
[INFO] [stdout]    |                         ---------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `next_tree` calls a custom destructor
[INFO] [stdout]    |                         `next_tree` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:91:38
[INFO] [stdout]     |
[INFO] [stdout]  91 |             if let Some(next_tree) = self.tree_collection.next() {
[INFO] [stdout]     |                         ---------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |            |
[INFO] [stdout]     |                         |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `next_tree` calls a custom destructor
[INFO] [stdout]     |                         `next_tree` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 101 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:382:40
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 if let Some(current) = current_tree_iterator.next() {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 385 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 386 |
[INFO] [stdout] 387 |             if let Some(next_tree) = self.tree_collection.next() {
[INFO] [stdout]     |                         ---------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `next_tree` calls a custom destructor
[INFO] [stdout]     |                         `next_tree` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:387:38
[INFO] [stdout]     |
[INFO] [stdout] 387 |             if let Some(next_tree) = self.tree_collection.next() {
[INFO] [stdout]     |                         ---------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |            |
[INFO] [stdout]     |                         |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `next_tree` calls a custom destructor
[INFO] [stdout]     |                         `next_tree` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 396 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/mod.rs:89:45
[INFO] [stdout]     |
[INFO] [stdout]  89 |                     while let Some(value) = top.next() {
[INFO] [stdout]     |                                    -----    ^^^^^^^^^^
[INFO] [stdout]     |                                    |        |
[INFO] [stdout]     |                                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `value` calls a custom destructor
[INFO] [stdout]     |                                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  97 |
[INFO] [stdout]  98 |                     self.traversal_stack.pop();
[INFO] [stdout]     |                     --------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 532 |     dfs_preorder_binary_next_with_path_tracking!(get_value_and_children_binary);
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `dfs_preorder_binary_next_with_path_tracking` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/mod.rs:89:45
[INFO] [stdout]     |
[INFO] [stdout]  89 |                     while let Some(value) = top.next() {
[INFO] [stdout]     |                                    -----    ^^^^^^^^^^
[INFO] [stdout]     |                                    |        |
[INFO] [stdout]     |                                    |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `value` calls a custom destructor
[INFO] [stdout]     |                                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 532 |     dfs_preorder_binary_next_with_path_tracking!(get_value_and_children_binary);
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `dfs_preorder_binary_next_with_path_tracking` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/mod.rs:255:45
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     while let Some(value) = top.next() {
[INFO] [stdout]     |                                    -----    ^^^^^^^^^^
[INFO] [stdout]     |                                    |        |
[INFO] [stdout]     |                                    |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `value` calls a custom destructor
[INFO] [stdout]     |                                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 267 |
[INFO] [stdout] 268 |                     self.traversal_stack.pop();
[INFO] [stdout]     |                     --------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 269 |                     self.current_context.ancestors.pop();
[INFO] [stdout]     |                     ------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 636 |     preorder_binary_context_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `preorder_binary_context_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/mod.rs:255:45
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     while let Some(value) = top.next() {
[INFO] [stdout]     |                                    -----    ^^^^^^^^^^
[INFO] [stdout]     |                                    |        |
[INFO] [stdout]     |                                    |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `value` calls a custom destructor
[INFO] [stdout]     |                                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 636 |     preorder_binary_context_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `preorder_binary_context_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_postorder_iterators/owned.rs:150:37
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 if let Some(node) = top.next() {
[INFO] [stdout]     |                                     ^^^^^^^^^^
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                     up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 158 |                     let (value, children) = node.get_value_and_children();
[INFO] [stdout]     |                                             -----------------------------
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                             `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 165 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/mod.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |                     if let Some(node) = new_stack_last.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 21 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 28 |
[INFO] [stdout] 29 |                 self.new_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 36 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 44 |                 self.old_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 49 |                 self.item_stack.pop();
[INFO] [stdout]    |                 ---------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/owned.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     streaming_leaves!(get_value_and_children);
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `streaming_leaves` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/mod.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 29 |                 self.new_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 35 |                     if let Some(node) = old_stack_last.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 36 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 42 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |                 self.old_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 49 |                 self.item_stack.pop();
[INFO] [stdout]    |                 ---------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/owned.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     streaming_leaves!(get_value_and_children);
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `streaming_leaves` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/mod.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |                     if let Some(node) = new_stack_last.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 21 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 28 |
[INFO] [stdout] 29 |                 self.new_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 36 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 44 |                 self.old_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 49 |                 self.item_stack.pop();
[INFO] [stdout]    |                 ---------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/owned.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     streaming_leaves!(get_value_and_children);
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `streaming_leaves` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/mod.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 29 |                 self.new_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 35 |                     if let Some(node) = old_stack_last.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 36 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 42 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |                 self.old_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 49 |                 self.item_stack.pop();
[INFO] [stdout]    |                 ---------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/owned.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     streaming_leaves!(get_value_and_children);
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `streaming_leaves` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/depth_first/mod.rs:21:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 22 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                         self.traversal_stack_top.pop();
[INFO] [stdout]    |                         ------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 28 |                         let popped = self.item_stack.pop();
[INFO] [stdout]    |                             ------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `popped` calls a custom destructor
[INFO] [stdout]    |                             `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                 } else if let Some(next_iter) = self.traversal_stack_bottom.last_mut() {
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 34 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout] 35 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |                         self.traversal_stack_bottom.pop();
[INFO] [stdout]    |                         ---------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/depth_first/owned.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     dfs_postorder_leaves_next!(get_value_and_children);
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `dfs_postorder_leaves_next` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/depth_first/mod.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 22 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                         self.traversal_stack_top.pop();
[INFO] [stdout]    |                         ------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 28 |                         let popped = self.item_stack.pop();
[INFO] [stdout]    |                             ------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `popped` calls a custom destructor
[INFO] [stdout]    |                             `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 34 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 35 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |                         self.traversal_stack_bottom.pop();
[INFO] [stdout]    |                         ---------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 40 |                     }
[INFO] [stdout] 41 |                 } else {
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/depth_first/owned.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     dfs_postorder_leaves_next!(get_value_and_children);
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `dfs_postorder_leaves_next` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/depth_first/mod.rs:21:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 22 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                         self.traversal_stack_top.pop();
[INFO] [stdout]    |                         ------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 28 |                         let popped = self.item_stack.pop();
[INFO] [stdout]    |                             ------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `popped` calls a custom destructor
[INFO] [stdout]    |                             `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                 } else if let Some(next_iter) = self.traversal_stack_bottom.last_mut() {
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 34 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout] 35 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |                         self.traversal_stack_bottom.pop();
[INFO] [stdout]    |                         ---------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/depth_first/owned.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     dfs_postorder_leaves_next!(get_value_and_children);
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `dfs_postorder_leaves_next` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/depth_first/mod.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 22 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                         self.traversal_stack_top.pop();
[INFO] [stdout]    |                         ------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 28 |                         let popped = self.item_stack.pop();
[INFO] [stdout]    |                             ------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `popped` calls a custom destructor
[INFO] [stdout]    |                             `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 34 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 35 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |                         self.traversal_stack_bottom.pop();
[INFO] [stdout]    |                         ---------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 40 |                     }
[INFO] [stdout] 41 |                 } else {
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/depth_first/owned.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     dfs_postorder_leaves_next!(get_value_and_children);
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `dfs_postorder_leaves_next` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:86:40
[INFO] [stdout]    |
[INFO] [stdout] 86 |                 if let Some(current) = current_tree_iterator.next() {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                        |
[INFO] [stdout]    |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 89 |             }
[INFO] [stdout]    |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 90 |
[INFO] [stdout] 91 |             if let Some(next_tree) = self.tree_collection.next() {
[INFO] [stdout]    |                         ---------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         `next_tree` calls a custom destructor
[INFO] [stdout]    |                         `next_tree` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:91:38
[INFO] [stdout]     |
[INFO] [stdout]  91 |             if let Some(next_tree) = self.tree_collection.next() {
[INFO] [stdout]     |                         ---------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |            |
[INFO] [stdout]     |                         |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `next_tree` calls a custom destructor
[INFO] [stdout]     |                         `next_tree` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 101 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:382:40
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 if let Some(current) = current_tree_iterator.next() {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                        |
[INFO] [stdout]     |                                        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 385 |             }
[INFO] [stdout]     |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 386 |
[INFO] [stdout] 387 |             if let Some(next_tree) = self.tree_collection.next() {
[INFO] [stdout]     |                         ---------
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         `next_tree` calls a custom destructor
[INFO] [stdout]     |                         `next_tree` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:387:38
[INFO] [stdout]     |
[INFO] [stdout] 387 |             if let Some(next_tree) = self.tree_collection.next() {
[INFO] [stdout]     |                         ---------    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                         |            |
[INFO] [stdout]     |                         |            this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                         |            up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                         `next_tree` calls a custom destructor
[INFO] [stdout]     |                         `next_tree` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 396 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/mod.rs:89:45
[INFO] [stdout]     |
[INFO] [stdout]  89 |                     while let Some(value) = top.next() {
[INFO] [stdout]     |                                    -----    ^^^^^^^^^^
[INFO] [stdout]     |                                    |        |
[INFO] [stdout]     |                                    |        this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                                    |        up until Edition 2021 `#2` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `value` calls a custom destructor
[INFO] [stdout]     |                                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]  97 |
[INFO] [stdout]  98 |                     self.traversal_stack.pop();
[INFO] [stdout]     |                     --------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 532 |     dfs_preorder_binary_next_with_path_tracking!(get_value_and_children_binary);
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `dfs_preorder_binary_next_with_path_tracking` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/mod.rs:89:45
[INFO] [stdout]     |
[INFO] [stdout]  89 |                     while let Some(value) = top.next() {
[INFO] [stdout]     |                                    -----    ^^^^^^^^^^
[INFO] [stdout]     |                                    |        |
[INFO] [stdout]     |                                    |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `value` calls a custom destructor
[INFO] [stdout]     |                                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  96 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:532:5
[INFO] [stdout]     |
[INFO] [stdout] 532 |     dfs_preorder_binary_next_with_path_tracking!(get_value_and_children_binary);
[INFO] [stdout]     |     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `dfs_preorder_binary_next_with_path_tracking` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/mod.rs:255:45
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     while let Some(value) = top.next() {
[INFO] [stdout]     |                                    -----    ^^^^^^^^^^
[INFO] [stdout]     |                                    |        |
[INFO] [stdout]     |                                    |        this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]     |                                    |        up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `value` calls a custom destructor
[INFO] [stdout]     |                                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 267 |
[INFO] [stdout] 268 |                     self.traversal_stack.pop();
[INFO] [stdout]     |                     --------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                     `#1` will be dropped later as of Edition 2024
[INFO] [stdout] 269 |                     self.current_context.ancestors.pop();
[INFO] [stdout]     |                     ------------------------------------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]     |                     `#2` will be dropped later as of Edition 2024
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 636 |     preorder_binary_context_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `preorder_binary_context_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/dfs_preorder_iterators/mod.rs:255:45
[INFO] [stdout]     |
[INFO] [stdout] 255 |                     while let Some(value) = top.next() {
[INFO] [stdout]     |                                    -----    ^^^^^^^^^^
[INFO] [stdout]     |                                    |        |
[INFO] [stdout]     |                                    |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                    |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                                    `value` calls a custom destructor
[INFO] [stdout]     |                                    `value` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 266 |                     }
[INFO] [stdout]     |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]    ::: tree_iterators_rs/src/dfs_preorder_iterators/owned.rs:636:5
[INFO] [stdout]     |
[INFO] [stdout] 636 |     preorder_binary_context_streaming_iterator_impl!(get_value_and_children_binary);
[INFO] [stdout]     |     ------------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]     = note: this warning originates in the macro `preorder_binary_context_streaming_iterator_impl` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_collection_iterators/fold.rs:152:33
[INFO] [stdout]     |
[INFO] [stdout] 152 |         while let Some(items) = folded_so_far.pop() {
[INFO] [stdout]     |                        -----    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |
[INFO] [stdout]     |                        |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `items` calls a custom destructor
[INFO] [stdout]     |                        `items` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 160 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/tree_collection_iterators/prune.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]    |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |       |
[INFO] [stdout]    |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `item` calls a custom destructor
[INFO] [stdout]    |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 78 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_collection_iterators/prune.rs:147:32
[INFO] [stdout]     |
[INFO] [stdout] 147 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `item` calls a custom destructor
[INFO] [stdout]     |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/tree_collection_iterators/prune_path.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]    |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |       |
[INFO] [stdout]    |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `item` calls a custom destructor
[INFO] [stdout]    |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 83 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_collection_iterators/prune_path.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `item` calls a custom destructor
[INFO] [stdout]     |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 160 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_collection_iterators/trees.rs:154:34
[INFO] [stdout]     |
[INFO] [stdout] 154 |         while let Some(popped) = keeping_stack.pop() {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `popped` calls a custom destructor
[INFO] [stdout]     |                        `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/tree_iterators/prune.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]    |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |       |
[INFO] [stdout]    |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `item` calls a custom destructor
[INFO] [stdout]    |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 78 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_iterators/prune.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `item` calls a custom destructor
[INFO] [stdout]     |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/tree_iterators/prune_path.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]    |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |       |
[INFO] [stdout]    |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `item` calls a custom destructor
[INFO] [stdout]    |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 78 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_iterators/prune_path.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `item` calls a custom destructor
[INFO] [stdout]     |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_iterators/mod.rs:566:32
[INFO] [stdout]     |
[INFO] [stdout] 566 |         while let Some(item) = self.next() {
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 567 |             while keeping_stack.len() > self.current_depth() {
[INFO] [stdout] 568 |                 let popped: (usize, BinaryTree<Value>) = keeping_stack
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `popped` calls a custom destructor
[INFO] [stdout]     |                     `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 595 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/mod.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |                     if let Some(node) = new_stack_last.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 21 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 28 |
[INFO] [stdout] 29 |                 self.new_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 36 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 44 |                 self.old_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 49 |                 self.item_stack.pop();
[INFO] [stdout]    |                 ---------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/owned.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     streaming_leaves!(get_value_and_children);
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `streaming_leaves` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/mod.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 29 |                 self.new_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 35 |                     if let Some(node) = old_stack_last.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 36 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 42 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |                 self.old_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 49 |                 self.item_stack.pop();
[INFO] [stdout]    |                 ---------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/owned.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     streaming_leaves!(get_value_and_children);
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `streaming_leaves` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/mod.rs:20:41
[INFO] [stdout]    |
[INFO] [stdout] 20 |                     if let Some(node) = new_stack_last.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 21 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 28 |
[INFO] [stdout] 29 |                 self.new_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 36 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 44 |                 self.old_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 49 |                 self.item_stack.pop();
[INFO] [stdout]    |                 ---------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/owned.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     streaming_leaves!(get_value_and_children);
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `streaming_leaves` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/mod.rs:35:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 29 |                 self.new_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                 `#2` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 35 |                     if let Some(node) = old_stack_last.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#6`
[INFO] [stdout]    |                                         up until Edition 2021 `#6` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 36 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 42 |                 }
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 43 |
[INFO] [stdout] 44 |                 self.old_traversal_stack.pop();
[INFO] [stdout]    |                 ------------------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                 `#4` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 49 |                 self.item_stack.pop();
[INFO] [stdout]    |                 ---------------------
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                 `#5` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/ancestors_depth_first/owned.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     streaming_leaves!(get_value_and_children);
[INFO] [stdout]    |     ----------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `streaming_leaves` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/depth_first/mod.rs:21:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 22 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                         self.traversal_stack_top.pop();
[INFO] [stdout]    |                         ------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 28 |                         let popped = self.item_stack.pop();
[INFO] [stdout]    |                             ------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `popped` calls a custom destructor
[INFO] [stdout]    |                             `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                 } else if let Some(next_iter) = self.traversal_stack_bottom.last_mut() {
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 34 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout] 35 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |                         self.traversal_stack_bottom.pop();
[INFO] [stdout]    |                         ---------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/depth_first/owned.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     dfs_postorder_leaves_next!(get_value_and_children);
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `dfs_postorder_leaves_next` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/depth_first/mod.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 22 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                         self.traversal_stack_top.pop();
[INFO] [stdout]    |                         ------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 28 |                         let popped = self.item_stack.pop();
[INFO] [stdout]    |                             ------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `popped` calls a custom destructor
[INFO] [stdout]    |                             `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 34 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 35 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |                         self.traversal_stack_bottom.pop();
[INFO] [stdout]    |                         ---------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 40 |                     }
[INFO] [stdout] 41 |                 } else {
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/depth_first/owned.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     dfs_postorder_leaves_next!(get_value_and_children);
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `dfs_postorder_leaves_next` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/depth_first/mod.rs:21:41
[INFO] [stdout]    |
[INFO] [stdout] 21 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 22 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                         self.traversal_stack_top.pop();
[INFO] [stdout]    |                         ------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 28 |                         let popped = self.item_stack.pop();
[INFO] [stdout]    |                             ------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `popped` calls a custom destructor
[INFO] [stdout]    |                             `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 33 |                 } else if let Some(next_iter) = self.traversal_stack_bottom.last_mut() {
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout] 34 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout] 35 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |                         self.traversal_stack_bottom.pop();
[INFO] [stdout]    |                         ---------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/depth_first/owned.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     dfs_postorder_leaves_next!(get_value_and_children);
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `dfs_postorder_leaves_next` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/leaves_iterators/depth_first/mod.rs:34:41
[INFO] [stdout]    |
[INFO] [stdout] 22 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                                                 `#1` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 27 |                         self.traversal_stack_top.pop();
[INFO] [stdout]    |                         ------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]    |                         `#2` will be dropped later as of Edition 2024
[INFO] [stdout] 28 |                         let popped = self.item_stack.pop();
[INFO] [stdout]    |                             ------
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             `popped` calls a custom destructor
[INFO] [stdout]    |                             `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 34 |                     if let Some(node) = next_iter.next() {
[INFO] [stdout]    |                                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                         |
[INFO] [stdout]    |                                         this value will be stored in a temporary; let us call it `#5`
[INFO] [stdout]    |                                         up until Edition 2021 `#5` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 35 |                         let (value, children) = node.$get_value_and_children();
[INFO] [stdout]    |                                                 ------------------------------
[INFO] [stdout]    |                                                 |
[INFO] [stdout]    |                                                 this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]    |                                                 `#3` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 39 |                         self.traversal_stack_bottom.pop();
[INFO] [stdout]    |                         ---------------------------------
[INFO] [stdout]    |                         |
[INFO] [stdout]    |                         this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]    |                         `#4` will be dropped later as of Edition 2024
[INFO] [stdout] 40 |                     }
[INFO] [stdout] 41 |                 } else {
[INFO] [stdout]    |                 - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]   ::: tree_iterators_rs/src/leaves_iterators/depth_first/owned.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     dfs_postorder_leaves_next!(get_value_and_children);
[INFO] [stdout]    |     -------------------------------------------------- in this macro invocation
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]    = note: this warning originates in the macro `dfs_postorder_leaves_next` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_collection_iterators/fold.rs:152:33
[INFO] [stdout]     |
[INFO] [stdout] 152 |         while let Some(items) = folded_so_far.pop() {
[INFO] [stdout]     |                        -----    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |        |
[INFO] [stdout]     |                        |        this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |        up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `items` calls a custom destructor
[INFO] [stdout]     |                        `items` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 160 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/tree_collection_iterators/prune.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]    |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |       |
[INFO] [stdout]    |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `item` calls a custom destructor
[INFO] [stdout]    |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 78 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_collection_iterators/prune.rs:147:32
[INFO] [stdout]     |
[INFO] [stdout] 147 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `item` calls a custom destructor
[INFO] [stdout]     |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/tree_collection_iterators/prune_path.rs:50:32
[INFO] [stdout]    |
[INFO] [stdout] 50 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]    |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |       |
[INFO] [stdout]    |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `item` calls a custom destructor
[INFO] [stdout]    |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 83 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_collection_iterators/prune_path.rs:152:32
[INFO] [stdout]     |
[INFO] [stdout] 152 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `item` calls a custom destructor
[INFO] [stdout]     |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 160 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_collection_iterators/trees.rs:154:34
[INFO] [stdout]     |
[INFO] [stdout] 154 |         while let Some(popped) = keeping_stack.pop() {
[INFO] [stdout]     |                        ------    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |         |
[INFO] [stdout]     |                        |         this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |         up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `popped` calls a custom destructor
[INFO] [stdout]     |                        `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 163 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/tree_iterators/prune.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]    |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |       |
[INFO] [stdout]    |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `item` calls a custom destructor
[INFO] [stdout]    |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 78 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_iterators/prune.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `item` calls a custom destructor
[INFO] [stdout]     |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 153 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]   --> tree_iterators_rs/src/tree_iterators/prune_path.rs:45:32
[INFO] [stdout]    |
[INFO] [stdout] 45 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]    |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                        |       |
[INFO] [stdout]    |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]    |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]    |                        `item` calls a custom destructor
[INFO] [stdout]    |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 78 |         }
[INFO] [stdout]    |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]    = warning: this changes meaning in Rust 2024
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_iterators/prune_path.rs:146:32
[INFO] [stdout]     |
[INFO] [stdout] 146 |         while let Some(item) = self.inner.next() {
[INFO] [stdout]     |                        ----    ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                        |       |
[INFO] [stdout]     |                        |       this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                        |       up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]     |                        `item` calls a custom destructor
[INFO] [stdout]     |                        `item` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 154 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]    --> tree_iterators_rs/src/tree_iterators/mod.rs:566:32
[INFO] [stdout]     |
[INFO] [stdout] 566 |         while let Some(item) = self.next() {
[INFO] [stdout]     |                                ^^^^^^^^^^^
[INFO] [stdout]     |                                |
[INFO] [stdout]     |                                this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]     |                                up until Edition 2021 `#1` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout] 567 |             while keeping_stack.len() > self.current_depth() {
[INFO] [stdout] 568 |                 let popped: (usize, BinaryTree<Value>) = keeping_stack
[INFO] [stdout]     |                     ------
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     `popped` calls a custom destructor
[INFO] [stdout]     |                     `popped` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout] 595 |         }
[INFO] [stdout]     |         - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]     |
[INFO] [stdout]     = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]     = warning: this changes meaning in Rust 2024
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Checking tests v0.1.0 (/opt/rustwide/workdir/tests)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.81s
[INFO] running `Command { std: "docker" "inspect" "a747a8cae3add0810d7f70214fc1614b2d6d3141911c0807b2e35dad4faf0d6d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a747a8cae3add0810d7f70214fc1614b2d6d3141911c0807b2e35dad4faf0d6d", kill_on_drop: false }`
[INFO] [stdout] a747a8cae3add0810d7f70214fc1614b2d6d3141911c0807b2e35dad4faf0d6d
