[INFO] cloning repository https://github.com/Dominionys/algorithms [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Dominionys/algorithms" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDominionys%2Falgorithms", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDominionys%2Falgorithms'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b52144a9e104f1e2e2e232aab6dd5e6fd57e4ded [INFO] checking Dominionys/algorithms/b52144a9e104f1e2e2e232aab6dd5e6fd57e4ded against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDominionys%2Falgorithms" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Dominionys/algorithms on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Dominionys/algorithms [INFO] finished tweaking git repo https://github.com/Dominionys/algorithms [INFO] tweaked toml for git repo https://github.com/Dominionys/algorithms written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Dominionys/algorithms already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b1198868571d7e3a709c502fd53bffa09c210fbb166ac9dd7fa07ba6c27bbefa [INFO] running `Command { std: "docker" "start" "-a" "b1198868571d7e3a709c502fd53bffa09c210fbb166ac9dd7fa07ba6c27bbefa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b1198868571d7e3a709c502fd53bffa09c210fbb166ac9dd7fa07ba6c27bbefa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b1198868571d7e3a709c502fd53bffa09c210fbb166ac9dd7fa07ba6c27bbefa", kill_on_drop: false }` [INFO] [stdout] b1198868571d7e3a709c502fd53bffa09c210fbb166ac9dd7fa07ba6c27bbefa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dtail_expr_drop_order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9306d57dc5a252f5054d350e36547492cc2e8d224ec49eb556c9bd0228e5859e [INFO] running `Command { std: "docker" "start" "-a" "9306d57dc5a252f5054d350e36547492cc2e8d224ec49eb556c9bd0228e5859e", kill_on_drop: false }` [INFO] [stderr] Checking tree v0.1.0 (/opt/rustwide/workdir/tree) [INFO] [stderr] Checking queues v0.1.0 (/opt/rustwide/workdir/queues) [INFO] [stderr] Checking sorting v0.1.0 (/opt/rustwide/workdir/sorting) [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> queues/src/double_linked_list.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Debug` and `Display` [INFO] [stdout] --> queues/src/linked_list.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deref` and `Index` [INFO] [stdout] --> queues/src/linked_list.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Deref, Index}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> queues/src/unsafe_queue.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::List` [INFO] [stdout] --> queues/src/unsafe_queue.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | use super::List; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort` is never used [INFO] [stdout] --> sorting/src/bubble.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn sort(arr: &mut [T]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TreeNode` is never constructed [INFO] [stdout] --> tree/src/tree.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct TreeNode { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push_back`, and `pop_child` are never used [INFO] [stdout] --> tree/src/tree.rs:7:12 [INFO] [stdout] | [INFO] [stdout] 6 | impl TreeNode { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 7 | pub fn new(value: T) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn push_back(&mut self, node: TreeNode) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn pop_child(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> tree/src/tree.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn new(value: T) -> Self { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 10 | children: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort` is never used [INFO] [stdout] --> sorting/src/insertion.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn sort(arr: &mut [T]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `top_down_sort` is never used [INFO] [stdout] --> sorting/src/merge.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn top_down_sort(arr: &mut [T]) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `top_down_merge` is never used [INFO] [stdout] --> sorting/src/merge.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn top_down_merge(arr: &mut [T]) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `partition_lomuto` is never used [INFO] [stdout] --> sorting/src/quicksort.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn partition_lomuto(arr: &mut [T], low: usize, high: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quicksort_lomuto` is never used [INFO] [stdout] --> sorting/src/quicksort.rs:17:8 [INFO] [stdout] | [INFO] [stdout] 17 | pub fn quicksort_lomuto(arr: &mut [T], low: usize, high: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `partition_hoare` is never used [INFO] [stdout] --> sorting/src/quicksort.rs:63:8 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn partition_hoare(arr: &mut [T], low: usize, high: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `quicksort_hoare` is never used [INFO] [stdout] --> sorting/src/quicksort.rs:94:8 [INFO] [stdout] | [INFO] [stdout] 94 | pub fn quicksort_hoare(arr: &mut [T], low: usize, high: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort` is never used [INFO] [stdout] --> sorting/src/selection.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn sort(arr: &mut [T]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort` is never used [INFO] [stdout] --> sorting/src/shell.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn sort(arr: &mut [T]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `insertion_sort` is never used [INFO] [stdout] --> sorting/src/shell.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub fn insertion_sort(arr: &mut [T], start: usize, gap: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sort` is never used [INFO] [stdout] --> sorting/src/slow.rs:3:8 [INFO] [stdout] | [INFO] [stdout] 3 | pub fn sort(arr: &mut [T]) { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `slow_sort` is never used [INFO] [stdout] --> sorting/src/slow.rs:9:4 [INFO] [stdout] | [INFO] [stdout] 9 | fn slow_sort(i: usize, j: usize, arr: &mut [T]) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `current_node` [INFO] [stdout] --> queues/src/double_linked_list.rs:130:13 [INFO] [stdout] | [INFO] [stdout] 130 | let current_node = self.head.as_ref().map(|node| node.borrow()); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tree` (lib) due to 2 previous errors; 2 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: 13 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Deque` is never constructed [INFO] [stdout] --> queues/src/deque.rs:1:12 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Deque { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> queues/src/deque.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl Deque { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 6 | pub fn new() -> Deque { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn enqueue(&mut self, element: T) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn enqueue_front(&mut self, element: T) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn dequeue(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub fn dequeue_front(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn peek(&self) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn peek_front(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> queues/src/double_linked_list.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Node { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 20 | pub fn new(element: T) -> Rc> { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push_front`, `peek_front`, and `peek_front_mut` are never used [INFO] [stdout] --> queues/src/double_linked_list.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl List { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 30 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn push_front(&mut self, element: T) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn peek_front(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn peek_front_mut(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `push_back`, `peek_back`, and `peek_back_mut` are never used [INFO] [stdout] --> queues/src/double_linked_list.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 81 | impl List { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 82 | pub fn push_back(&mut self, element: T) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | pub fn peek_back(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 121 | pub fn peek_back_mut(&self) -> Option> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reverse` is never used [INFO] [stdout] --> queues/src/double_linked_list.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 129 | pub fn reverse(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_iter` is never used [INFO] [stdout] --> queues/src/double_linked_list.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 184 | pub fn into_iter(self) -> IntoIter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `next` is never read [INFO] [stdout] --> queues/src/double_linked_list.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 203 | pub struct Iter<'a, T> { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 204 | next: Option>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> queues/src/double_linked_list.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 207 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 208 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> queues/src/linked_list.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl List { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn push_front(&mut self, element: T) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn push_back(&mut self, element: T) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn pop_back(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | pub fn peek_front(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn peek_front_mut(&mut self) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | pub fn peek_back(&self) -> Option<&T> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub fn peek_back_mut(&mut self) -> Option<&mut T> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `reverse` and `remove_by_index` are never used [INFO] [stdout] --> queues/src/linked_list.rs:90:12 [INFO] [stdout] | [INFO] [stdout] 89 | impl List { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 90 | pub fn reverse(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn remove_by_index(&mut self, index: usize) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `into_iter` is never used [INFO] [stdout] --> queues/src/linked_list.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 138 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 139 | pub fn into_iter(self) -> IntoIter { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> queues/src/linked_list.rs:157:12 [INFO] [stdout] | [INFO] [stdout] 156 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 157 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter_mut` is never used [INFO] [stdout] --> queues/src/linked_list.rs:180:12 [INFO] [stdout] | [INFO] [stdout] 179 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 180 | pub fn iter_mut(&mut self) -> IterMut { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `append`, `tail`, and `head` are never used [INFO] [stdout] --> queues/src/persistent_stack.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl List { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 15 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub fn append(&self, element: T) -> List { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn tail(&self) -> List { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn head(&self) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> queues/src/persistent_stack.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 56 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 57 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `size`, `enqueue`, and `peek` are never used [INFO] [stdout] --> queues/src/queue.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl Queue { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 6 | pub fn new() -> Queue { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn enqueue(&mut self, element: T) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 29 | pub fn peek(&self) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `is_empty`, `size`, `push`, and `peek` are never used [INFO] [stdout] --> queues/src/stack.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 5 | impl Stack { [INFO] [stdout] | ---------------- associated items in this implementation [INFO] [stdout] 6 | pub fn new() -> Stack { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 10 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub fn size(&self) -> usize { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn push(&mut self, element: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn peek(&self) -> Option<&T> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Link` is never used [INFO] [stdout] --> queues/src/unsafe_queue.rs:4:6 [INFO] [stdout] | [INFO] [stdout] 4 | type Link = Option>>; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `List` is never constructed [INFO] [stdout] --> queues/src/unsafe_queue.rs:6:12 [INFO] [stdout] | [INFO] [stdout] 6 | pub struct List { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> queues/src/double_linked_list.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> queues/src/unsafe_queue.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `push`, and `pop` are never used [INFO] [stdout] --> queues/src/unsafe_queue.rs:17:12 [INFO] [stdout] | [INFO] [stdout] 16 | impl List { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 17 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 24 | pub fn push(&mut self, element: T) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub fn pop(&mut self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Debug` and `Display` [INFO] [stdout] --> queues/src/linked_list.rs:1:16 [INFO] [stdout] | [INFO] [stdout] 1 | use std::fmt::{Debug, Display}; [INFO] [stdout] | ^^^^^ ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Deref` and `Index` [INFO] [stdout] --> queues/src/linked_list.rs:2:16 [INFO] [stdout] | [INFO] [stdout] 2 | use std::ops::{Deref, Index}; [INFO] [stdout] | ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> queues/src/linked_list.rs:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::mem` [INFO] [stdout] --> queues/src/unsafe_queue.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::mem; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(element: T) -> Rc> { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | Rc::new(RefCell::new(Node { [INFO] [stdout] | _________________^ [INFO] [stdout] 22 | | element, [INFO] [stdout] 23 | | prev: None, [INFO] [stdout] 24 | | next: None, [INFO] [stdout] 25 | | })) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn push_front(&mut self, element: T) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | let new_head = Node::new(element); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 39 | [INFO] [stdout] 40 | match self.head.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:64:18 [INFO] [stdout] | [INFO] [stdout] 54 | self.head.take().and_then(|old_head| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 64 | Some(Rc::try_unwrap(old_head).ok()?.into_inner().element) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:71:34 [INFO] [stdout] | [INFO] [stdout] 71 | .map(|node| Ref::map(node.borrow(), |node| &node.element)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:77:37 [INFO] [stdout] | [INFO] [stdout] 77 | .map(|node| RefMut::map(node.borrow_mut(), |node| &mut node.element)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn push_back(&mut self, element: T) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 83 | let new_tail = Node::new(element); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 84 | [INFO] [stdout] 85 | match self.tail.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 99 | self.tail.take().and_then(|tail| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 111 | Some(Rc::try_unwrap(tail).ok()?.into_inner().element) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:118:34 [INFO] [stdout] | [INFO] [stdout] 118 | .map(|node| Ref::map(node.borrow(), |node| &node.element)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:124:37 [INFO] [stdout] | [INFO] [stdout] 124 | .map(|node| RefMut::map(node.borrow_mut(), |node| &mut node.element)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/persistent_stack.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn append(&self, element: T) -> List { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 20 | List { [INFO] [stdout] 21 | head: Some(Rc::new(Node { [INFO] [stdout] | ___________________^ [INFO] [stdout] 22 | | element, [INFO] [stdout] 23 | | next: self.head.clone(), [INFO] [stdout] 24 | | })), [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors; 28 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `queues` (lib) due to 11 previous errors; 28 warnings emitted [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> tree/src/tree.rs:10:23 [INFO] [stdout] | [INFO] [stdout] 7 | pub fn new(value: T) -> Self { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 10 | children: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tree` (lib test) due to 2 previous errors [INFO] [stdout] warning: unused variable: `current_node` [INFO] [stdout] --> queues/src/double_linked_list.rs:130:13 [INFO] [stdout] | [INFO] [stdout] 130 | let current_node = self.head.as_ref().map(|node| node.borrow()); [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_node` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reverse` is never used [INFO] [stdout] --> queues/src/double_linked_list.rs:129:12 [INFO] [stdout] | [INFO] [stdout] 128 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 129 | pub fn reverse(&mut self) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `next` is never read [INFO] [stdout] --> queues/src/double_linked_list.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 203 | pub struct Iter<'a, T> { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 204 | next: Option>>, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `iter` is never used [INFO] [stdout] --> queues/src/double_linked_list.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 207 | impl List { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] 208 | pub fn iter(&self) -> Iter { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn new(element: T) -> Rc> { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 21 | Rc::new(RefCell::new(Node { [INFO] [stdout] | _________________^ [INFO] [stdout] 22 | | element, [INFO] [stdout] 23 | | prev: None, [INFO] [stdout] 24 | | next: None, [INFO] [stdout] 25 | | })) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn push_front(&mut self, element: T) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | let new_head = Node::new(element); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 39 | [INFO] [stdout] 40 | match self.head.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:64:18 [INFO] [stdout] | [INFO] [stdout] 54 | self.head.take().and_then(|old_head| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 64 | Some(Rc::try_unwrap(old_head).ok()?.into_inner().element) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:71:34 [INFO] [stdout] | [INFO] [stdout] 71 | .map(|node| Ref::map(node.borrow(), |node| &node.element)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:77:37 [INFO] [stdout] | [INFO] [stdout] 77 | .map(|node| RefMut::map(node.borrow_mut(), |node| &mut node.element)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:85:15 [INFO] [stdout] | [INFO] [stdout] 82 | pub fn push_back(&mut self, element: T) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 83 | let new_tail = Node::new(element); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 84 | [INFO] [stdout] 85 | match self.tail.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:111:18 [INFO] [stdout] | [INFO] [stdout] 99 | self.tail.take().and_then(|tail| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 111 | Some(Rc::try_unwrap(tail).ok()?.into_inner().element) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:118:34 [INFO] [stdout] | [INFO] [stdout] 118 | .map(|node| Ref::map(node.borrow(), |node| &node.element)) [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/double_linked_list.rs:124:37 [INFO] [stdout] | [INFO] [stdout] 124 | .map(|node| RefMut::map(node.borrow_mut(), |node| &mut node.element)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> queues/src/persistent_stack.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 19 | pub fn append(&self, element: T) -> List { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 20 | List { [INFO] [stdout] 21 | head: Some(Rc::new(Node { [INFO] [stdout] | ___________________^ [INFO] [stdout] 22 | | element, [INFO] [stdout] 23 | | next: self.head.clone(), [INFO] [stdout] 24 | | })), [INFO] [stdout] | |_______________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: panic message is not a string literal [INFO] [stdout] --> queues/src/queue.rs:69:35 [INFO] [stdout] | [INFO] [stdout] 69 | assert!(queue.is_empty(), true); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `assert!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: add a "{}" format string to `Display` the message [INFO] [stdout] | [INFO] [stdout] 69 | assert!(queue.is_empty(), "{}", true); [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 10 previous errors; 10 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `queues` (lib test) due to 11 previous errors; 10 warnings emitted [INFO] running `Command { std: "docker" "inspect" "9306d57dc5a252f5054d350e36547492cc2e8d224ec49eb556c9bd0228e5859e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9306d57dc5a252f5054d350e36547492cc2e8d224ec49eb556c9bd0228e5859e", kill_on_drop: false }` [INFO] [stdout] 9306d57dc5a252f5054d350e36547492cc2e8d224ec49eb556c9bd0228e5859e