[INFO] fetching crate pepper 0.31.0... [INFO] checking pepper-0.31.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate pepper 0.31.0 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate pepper 0.31.0 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate pepper 0.31.0 [INFO] finished tweaking crates.io crate pepper 0.31.0 [INFO] tweaked toml for crates.io crate pepper 0.31.0 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate pepper 0.31.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c2f06fe0ff0f225b7bc7c5223ebbec3641b490830cb893b51d23d820ccb300e0 [INFO] running `Command { std: "docker" "start" "-a" "c2f06fe0ff0f225b7bc7c5223ebbec3641b490830cb893b51d23d820ccb300e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c2f06fe0ff0f225b7bc7c5223ebbec3641b490830cb893b51d23d820ccb300e0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c2f06fe0ff0f225b7bc7c5223ebbec3641b490830cb893b51d23d820ccb300e0", kill_on_drop: false }` [INFO] [stdout] c2f06fe0ff0f225b7bc7c5223ebbec3641b490830cb893b51d23d820ccb300e0 [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" "-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:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c3614a30d536aa60c258ca2344456c027c97247435e339b704fe417a6bba2516 [INFO] running `Command { std: "docker" "start" "-a" "c3614a30d536aa60c258ca2344456c027c97247435e339b704fe417a6bba2516", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.139 [INFO] [stderr] Checking pepper v0.31.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `pepper` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/config.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | ($($name:ident: $type:ty = $default:expr_2021,)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stderr] --> src/lib.rs:219:68 [INFO] [stderr] | [INFO] [stderr] 219 | static mut ORIGINAL_PANIC_HOOK: MaybeUninit> = [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:17:41 [INFO] [stdout] | [INFO] [stdout] 17 | ($($name:ident: $type:ty = $default:expr,)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 17 | ($($name:ident: $type:ty = $default:expr_2021,)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/lib.rs:219:68 [INFO] [stdout] | [INFO] [stdout] 219 | static mut ORIGINAL_PANIC_HOOK: MaybeUninit> = [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/command/builtins.rs:912:9 [INFO] [stdout] | [INFO] [stdout] 912 | env::set_var(key, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 912 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 913 ~ unsafe { env::set_var(key, value) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:234:20 [INFO] [stdout] | [INFO] [stdout] 234 | if let Ok(mut file) = fs::File::create(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 234 ~ match fs::File::create(path) { Ok(mut file) => { [INFO] [stdout] 235 | use io::Write; [INFO] [stdout] 236 | let _ = writeln!(file, "{}", info); [INFO] [stdout] 237 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | while let Some(event) = events.next(&self.client_event_receiver) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:145:21 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:319:12 [INFO] [stdout] | [INFO] [stdout] 319 | if let Some(output) = &mut self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match &mut self.output { Some(output) => { [INFO] [stdout] 320 | let _ = output.write_all(ui::ENTER_ALTERNATE_BUFFER_CODE); [INFO] [stdout] ... [INFO] [stdout] 323 | let _ = output.flush(); [INFO] [stdout] 324 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 328 | if let Some(output) = &mut self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:333:9 [INFO] [stdout] | [INFO] [stdout] 333 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 328 ~ match &mut self.output { Some(output) => { [INFO] [stdout] 329 | let _ = output.write_all(ui::EXIT_ALTERNATE_BUFFER_CODE); [INFO] [stdout] ... [INFO] [stdout] 332 | let _ = output.flush(); [INFO] [stdout] 333 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:367:28 [INFO] [stdout] | [INFO] [stdout] 367 | if let Some(output) = &mut self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:369:25 [INFO] [stdout] | [INFO] [stdout] 369 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 367 ~ match &mut self.output { Some(output) => { [INFO] [stdout] 368 | output.write_all(display).unwrap(); [INFO] [stdout] 369 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:387:16 [INFO] [stdout] | [INFO] [stdout] 387 | if let Some(output) = &mut self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:389:13 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ match &mut self.output { Some(output) => { [INFO] [stdout] 388 | output.flush().unwrap(); [INFO] [stdout] 389 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator> + DoubleEndedIterator + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/buffer.rs:1583:10 [INFO] [stdout] | [INFO] [stdout] 1583 | ) -> impl '_ + ExactSizeIterator> + DoubleEndedIterator> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/buffer.rs:1581:24 [INFO] [stdout] | [INFO] [stdout] 1581 | word_database: &mut WordDatabase, [INFO] [stdout] | ^ [INFO] [stdout] 1582 | events: &mut EditorEventWriter, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1583 | ) -> impl '_ + ExactSizeIterator> + DoubleEndedIterator> + use<'_> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator> + DoubleEndedIterator + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/buffer.rs:1591:10 [INFO] [stdout] | [INFO] [stdout] 1591 | ) -> impl '_ + ExactSizeIterator> + DoubleEndedIterator> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/buffer.rs:1589:24 [INFO] [stdout] | [INFO] [stdout] 1589 | word_database: &mut WordDatabase, [INFO] [stdout] | ^ [INFO] [stdout] 1590 | events: &mut EditorEventWriter, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1591 | ) -> impl '_ + ExactSizeIterator> + DoubleEndedIterator> + use<'_> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/buffer.rs:1675:12 [INFO] [stdout] | [INFO] [stdout] 1675 | if let Some((name, mut reader)) = help_page { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/buffer.rs:1685:9 [INFO] [stdout] | [INFO] [stdout] 1685 | } else if self.path.as_os_str().is_empty() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1675 ~ match help_page { Some((name, mut reader)) => { [INFO] [stdout] 1676 | clear_buffer(self, word_database); [INFO] [stdout] ... [INFO] [stdout] 1684 | self.path = path.into(); [INFO] [stdout] 1685 ~ } _ => if self.path.as_os_str().is_empty() { [INFO] [stdout] 1686 | return Err(BufferReadError::FileNotFound); [INFO] [stdout] ... [INFO] [stdout] 1701 | } [INFO] [stdout] 1702 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/buffer.rs:2008:12 [INFO] [stdout] | [INFO] [stdout] 2008 | if let Some(buf) = process.input.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/buffer.rs:2015:9 [INFO] [stdout] | [INFO] [stdout] 2015 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2008 ~ match process.input.take() { Some(buf) => { [INFO] [stdout] 2009 | platform [INFO] [stdout] ... [INFO] [stdout] 2014 | .enqueue(PlatformRequest::CloseProcessInput { handle }); [INFO] [stdout] 2015 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 114 | if let HighlightResult::Pending = buffer.update_highlighting(&self.editor.syntaxes) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match buffer.update_highlighting(&self.editor.syntaxes) [INFO] [stdout] 115 ~ { HighlightResult::Pending => { [INFO] [stdout] 116 | needs_redraw = true; [INFO] [stdout] 117 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | while let Some(event) = events.next(self.editor.events.reader()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:404:16 [INFO] [stdout] | [INFO] [stdout] 404 | if let Some(log_writer) = &mut self.0.log_writer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:407:13 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 404 ~ match &mut self.0.log_writer { Some(log_writer) => { [INFO] [stdout] 405 | use io::Write; [INFO] [stdout] 406 | let _ = log_writer.write_all(message.as_bytes()); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:416:16 [INFO] [stdout] | [INFO] [stdout] 416 | if let Some(log_writer) = &mut self.0.log_writer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:419:13 [INFO] [stdout] | [INFO] [stdout] 419 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 416 ~ match &mut self.0.log_writer { Some(log_writer) => { [INFO] [stdout] 417 | use io::Write; [INFO] [stdout] 418 | let _ = log_writer.write_fmt(args); [INFO] [stdout] 419 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:441:16 [INFO] [stdout] | [INFO] [stdout] 441 | if let Some(log_writer) = &mut self.0.log_writer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:445:13 [INFO] [stdout] | [INFO] [stdout] 445 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 441 ~ match &mut self.0.log_writer { Some(log_writer) => { [INFO] [stdout] 442 | use io::Write; [INFO] [stdout] 443 | let _ = log_writer.write_all(b"\n\n"); [INFO] [stdout] 444 | let _ = log_writer.flush(); [INFO] [stdout] 445 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/events.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | std::mem::drop(range_deletes); [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut BufferRangeDeletesMutGuard<'_>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 201 - std::mem::drop(range_deletes); [INFO] [stdout] 201 + let _ = range_deletes; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/events.rs:220:17 [INFO] [stdout] | [INFO] [stdout] 220 | std::mem::drop(text_inserts); [INFO] [stdout] | ^^^^^^^^^^^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut BufferTextInsertsMutGuard<'_>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 220 - std::mem::drop(text_inserts); [INFO] [stdout] 220 + let _ = text_inserts; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/events.rs:1108:20 [INFO] [stdout] | [INFO] [stdout] 1108 | if let Some(events) = self.events.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/events.rs:1110:17 [INFO] [stdout] | [INFO] [stdout] 1110 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1108 ~ match self.events.take() { Some(events) => { [INFO] [stdout] 1109 | events.finish(self.receiver); [INFO] [stdout] 1110 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl BufRead` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/help.rs:87:63 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn open(page_name: HelpPageName) -> (&'static str, impl io::BufRead) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/help.rs:87:31 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn open(page_name: HelpPageName) -> (&'static str, impl io::BufRead) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn open(page_name: HelpPageName) -> (&'static str, impl io::BufRead + use<>) { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/command.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some((_, entry)) = ctx.editor.picker.current_entry(&ctx.editor.word_database) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/command.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 ~ match ctx.editor.picker.current_entry(&ctx.editor.word_database) { Some((_, entry)) => { [INFO] [stdout] 144 | let input = ctx.editor.registers.get_mut(REGISTER_READLINE_INPUT); [INFO] [stdout] 145 | input.truncate(ctx.editor.mode.command_state.completion_index); [INFO] [stdout] 146 | input.push_str(entry); [INFO] [stdout] 147 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/command.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | if let Some(command) = ctx.editor.commands.find_command(command_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/command.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 193 ~ match ctx.editor.commands.find_command(command_name) { Some(command) => { [INFO] [stdout] 194 | let completion_index = arg_count - 1; [INFO] [stdout] ... [INFO] [stdout] 197 | } [INFO] [stdout] 198 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:1509:24 [INFO] [stdout] | [INFO] [stdout] 1509 | if let Some(cursor) = cursors[..].last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:1521:21 [INFO] [stdout] | [INFO] [stdout] 1521 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1509 ~ match cursors[..].last() { Some(cursor) => { [INFO] [stdout] 1510 | let mut position = cursor.to_range().to; [INFO] [stdout] ... [INFO] [stdout] 1520 | } [INFO] [stdout] 1521 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:1533:24 [INFO] [stdout] | [INFO] [stdout] 1533 | if let Some(cursor) = cursors[..].first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:1545:21 [INFO] [stdout] | [INFO] [stdout] 1545 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1533 ~ match cursors[..].first() { Some(cursor) => { [INFO] [stdout] 1534 | let mut position = cursor.to_range().from; [INFO] [stdout] ... [INFO] [stdout] 1544 | } [INFO] [stdout] 1545 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:2355:8 [INFO] [stdout] | [INFO] [stdout] 2355 | if let CursorMovementKind::PositionAndAnchor = ctx.editor.mode.normal_state.movement_kind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:2357:5 [INFO] [stdout] | [INFO] [stdout] 2357 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2355 ~ match ctx.editor.mode.normal_state.movement_kind { CursorMovementKind::PositionAndAnchor => { [INFO] [stdout] 2356 | main_cursor.anchor = main_cursor.position; [INFO] [stdout] 2357 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/readline.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 203 | if let CursorMovementKind::PositionAndAnchor = ctx.editor.mode.normal_state.movement_kind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/readline.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 203 ~ match ctx.editor.mode.normal_state.movement_kind { CursorMovementKind::PositionAndAnchor => { [INFO] [stdout] 204 | main_cursor.anchor = main_cursor.position; [INFO] [stdout] 205 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platform.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if let Some(mut command) = parse_process_command(&self.paste_command) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platform.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | } else if let Some(read_from_clipboard) = self.read_from_clipboard_fn { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 190 ~ match parse_process_command(&self.paste_command) { Some(mut command) => { [INFO] [stdout] 191 | command.stdin(Stdio::null()); [INFO] [stdout] ... [INFO] [stdout] 198 | } [INFO] [stdout] 199 ~ } _ => if let Some(read_from_clipboard) = self.read_from_clipboard_fn { [INFO] [stdout] 200 | read_from_clipboard(text); [INFO] [stdout] 201 | } else { [INFO] [stdout] 202 | text.push_str(&self.internal_clipboard); [INFO] [stdout] 203 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platform.rs:194:16 [INFO] [stdout] | [INFO] [stdout] 194 | if let Ok(output) = command.output() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platform.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 194 ~ match command.output() { Ok(output) => { [INFO] [stdout] 195 | if let Ok(output) = String::from_utf8(output.stdout) { [INFO] [stdout] 196 | text.push_str(&output); [INFO] [stdout] 197 | } [INFO] [stdout] 198 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platform.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(mut command) = parse_process_command(&self.copy_command) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platform.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | } else if let Some(write_to_clipboard) = self.write_to_clipboard_fn { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 207 ~ match parse_process_command(&self.copy_command) { Some(mut command) => { [INFO] [stdout] 208 | command.stdin(Stdio::piped()); [INFO] [stdout] ... [INFO] [stdout] 217 | } [INFO] [stdout] 218 ~ } _ => if let Some(write_to_clipboard) = self.write_to_clipboard_fn { [INFO] [stdout] 219 | write_to_clipboard(text); [INFO] [stdout] ... [INFO] [stdout] 222 | self.internal_clipboard.push_str(text); [INFO] [stdout] 223 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platform.rs:211:16 [INFO] [stdout] | [INFO] [stdout] 211 | if let Ok(mut child) = command.spawn() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platform.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 211 ~ match command.spawn() { Ok(mut child) => { [INFO] [stdout] 212 | if let Some(mut stdin) = child.stdin.take() { [INFO] [stdout] ... [INFO] [stdout] 216 | let _ = child.wait(); [INFO] [stdout] 217 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/plugin.rs:104:37 [INFO] [stdout] | [INFO] [stdout] 104 | pub(crate) fn handles(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/plugin.rs:104:27 [INFO] [stdout] | [INFO] [stdout] 104 | pub(crate) fn handles(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 104 | pub(crate) fn handles(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:123:10 [INFO] [stdout] | [INFO] [stdout] 123 | ) -> impl 'a + ExactSizeIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/platforms/linux.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 123 | ) -> impl 'a + ExactSizeIterator + use<'a> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:268:24 [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(process) = &mut processes[index] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:283:21 [INFO] [stdout] | [INFO] [stdout] 283 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 268 ~ match &mut processes[index] { Some(process) => { [INFO] [stdout] 269 | let tag = process.tag(); [INFO] [stdout] ... [INFO] [stdout] 282 | } [INFO] [stdout] 283 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:300:15 [INFO] [stdout] | [INFO] [stdout] 300 | while let Some(request) = requests.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:427:9 [INFO] [stdout] | [INFO] [stdout] 427 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:355:28 [INFO] [stdout] | [INFO] [stdout] 355 | if let Ok(child) = command.spawn() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:363:25 [INFO] [stdout] | [INFO] [stdout] 363 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 355 ~ match command.spawn() { Ok(child) => { [INFO] [stdout] 356 | let process = Process::new(child, tag, buf_len); [INFO] [stdout] ... [INFO] [stdout] 362 | spawned = true; [INFO] [stdout] 363 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:387:24 [INFO] [stdout] | [INFO] [stdout] 387 | if let Some(process) = &mut processes[index] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ match &mut processes[index] { Some(process) => { [INFO] [stdout] 388 | process.close_input(); [INFO] [stdout] 389 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:393:24 [INFO] [stdout] | [INFO] [stdout] 393 | if let Some(mut process) = processes[index].take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:401:21 [INFO] [stdout] | [INFO] [stdout] 401 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 393 ~ match processes[index].take() { Some(mut process) => { [INFO] [stdout] 394 | if let Some(fd) = process.try_as_raw_fd() { [INFO] [stdout] ... [INFO] [stdout] 400 | events.push(PlatformEvent::ProcessExit { tag }); [INFO] [stdout] 401 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:461:8 [INFO] [stdout] | [INFO] [stdout] 461 | if let Some(terminal) = &terminal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 461 ~ match &terminal { Some(terminal) => { [INFO] [stdout] 462 | terminal.enter_raw_mode(); [INFO] [stdout] ... [INFO] [stdout] 473 | } [INFO] [stdout] 474 ~ } _ => { [INFO] [stdout] 475 | resize_signal = None; [INFO] [stdout] 476 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:504:24 [INFO] [stdout] | [INFO] [stdout] 504 | if let Some(terminal) = &terminal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:509:21 [INFO] [stdout] | [INFO] [stdout] 509 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 504 ~ match &terminal { Some(terminal) => { [INFO] [stdout] 505 | match read(terminal.as_raw_fd(), &mut buf) { [INFO] [stdout] ... [INFO] [stdout] 508 | } [INFO] [stdout] 509 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:516:24 [INFO] [stdout] | [INFO] [stdout] 516 | if let Some(ref signal) = resize_signal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:519:21 [INFO] [stdout] | [INFO] [stdout] 519 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 516 ~ match resize_signal { Some(ref signal) => { [INFO] [stdout] 517 | signal.read(); [INFO] [stdout] 518 | resize = terminal.as_ref().map(Terminal::get_size); [INFO] [stdout] 519 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 42 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `pepper` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/config.rs [INFO] [stderr] * src/lib.rs [INFO] [stderr] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stderr] Note that you may be able to make some more progress in the near-term [INFO] [stderr] fixing code with the `--broken-code` flag [INFO] [stderr] [INFO] [stderr] The following errors were reported: [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:17:32 [INFO] [stderr] | [INFO] [stderr] 17 | ($($name:ident: $type:ty = $default:expr_2021,)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stderr] --> src/lib.rs:219:68 [INFO] [stderr] | [INFO] [stderr] 219 | static mut ORIGINAL_PANIC_HOOK: MaybeUninit> = [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:17:41 [INFO] [stdout] | [INFO] [stdout] 17 | ($($name:ident: $type:ty = $default:expr,)*) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 17 | ($($name:ident: $type:ty = $default:expr_2021,)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/lib.rs:219:68 [INFO] [stdout] | [INFO] [stdout] 219 | static mut ORIGINAL_PANIC_HOOK: MaybeUninit> = [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/command/builtins.rs:912:9 [INFO] [stdout] | [INFO] [stdout] 912 | env::set_var(key, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 912 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 913 ~ unsafe { env::set_var(key, value) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/lib.rs:234:20 [INFO] [stdout] | [INFO] [stdout] 234 | if let Ok(mut file) = fs::File::create(path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/lib.rs:237:17 [INFO] [stdout] | [INFO] [stdout] 237 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 234 ~ match fs::File::create(path) { Ok(mut file) => { [INFO] [stdout] 235 | use io::Write; [INFO] [stdout] 236 | let _ = writeln!(file, "{}", info); [INFO] [stdout] 237 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:125:27 [INFO] [stdout] | [INFO] [stdout] 125 | while let Some(event) = events.next(&self.client_event_receiver) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:145:21 [INFO] [stdout] | [INFO] [stdout] 145 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:319:12 [INFO] [stdout] | [INFO] [stdout] 319 | if let Some(output) = &mut self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:324:9 [INFO] [stdout] | [INFO] [stdout] 324 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 319 ~ match &mut self.output { Some(output) => { [INFO] [stdout] 320 | let _ = output.write_all(ui::ENTER_ALTERNATE_BUFFER_CODE); [INFO] [stdout] ... [INFO] [stdout] 323 | let _ = output.flush(); [INFO] [stdout] 324 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:328:12 [INFO] [stdout] | [INFO] [stdout] 328 | if let Some(output) = &mut self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:333:9 [INFO] [stdout] | [INFO] [stdout] 333 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 328 ~ match &mut self.output { Some(output) => { [INFO] [stdout] 329 | let _ = output.write_all(ui::EXIT_ALTERNATE_BUFFER_CODE); [INFO] [stdout] ... [INFO] [stdout] 332 | let _ = output.flush(); [INFO] [stdout] 333 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:367:28 [INFO] [stdout] | [INFO] [stdout] 367 | if let Some(output) = &mut self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:369:25 [INFO] [stdout] | [INFO] [stdout] 369 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 367 ~ match &mut self.output { Some(output) => { [INFO] [stdout] 368 | output.write_all(display).unwrap(); [INFO] [stdout] 369 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/application.rs:387:16 [INFO] [stdout] | [INFO] [stdout] 387 | if let Some(output) = &mut self.output { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/application.rs:389:13 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ match &mut self.output { Some(output) => { [INFO] [stdout] 388 | output.flush().unwrap(); [INFO] [stdout] 389 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator> + DoubleEndedIterator + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/buffer.rs:1583:10 [INFO] [stdout] | [INFO] [stdout] 1583 | ) -> impl '_ + ExactSizeIterator> + DoubleEndedIterator> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/buffer.rs:1581:24 [INFO] [stdout] | [INFO] [stdout] 1581 | word_database: &mut WordDatabase, [INFO] [stdout] | ^ [INFO] [stdout] 1582 | events: &mut EditorEventWriter, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1583 | ) -> impl '_ + ExactSizeIterator> + DoubleEndedIterator> + use<'_> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator> + DoubleEndedIterator + '_` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/buffer.rs:1591:10 [INFO] [stdout] | [INFO] [stdout] 1591 | ) -> impl '_ + ExactSizeIterator> + DoubleEndedIterator> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, these lifetimes are in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/buffer.rs:1589:24 [INFO] [stdout] | [INFO] [stdout] 1589 | word_database: &mut WordDatabase, [INFO] [stdout] | ^ [INFO] [stdout] 1590 | events: &mut EditorEventWriter, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 1591 | ) -> impl '_ + ExactSizeIterator> + DoubleEndedIterator> + use<'_> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/buffer.rs:1675:12 [INFO] [stdout] | [INFO] [stdout] 1675 | if let Some((name, mut reader)) = help_page { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/buffer.rs:1685:9 [INFO] [stdout] | [INFO] [stdout] 1685 | } else if self.path.as_os_str().is_empty() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1675 ~ match help_page { Some((name, mut reader)) => { [INFO] [stdout] 1676 | clear_buffer(self, word_database); [INFO] [stdout] ... [INFO] [stdout] 1684 | self.path = path.into(); [INFO] [stdout] 1685 ~ } _ => if self.path.as_os_str().is_empty() { [INFO] [stdout] 1686 | return Err(BufferReadError::FileNotFound); [INFO] [stdout] ... [INFO] [stdout] 1701 | } [INFO] [stdout] 1702 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/buffer.rs:2008:12 [INFO] [stdout] | [INFO] [stdout] 2008 | if let Some(buf) = process.input.take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^-------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/buffer.rs:2015:9 [INFO] [stdout] | [INFO] [stdout] 2015 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2008 ~ match process.input.take() { Some(buf) => { [INFO] [stdout] 2009 | platform [INFO] [stdout] ... [INFO] [stdout] 2014 | .enqueue(PlatformRequest::CloseProcessInput { handle }); [INFO] [stdout] 2015 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 114 | if let HighlightResult::Pending = buffer.update_highlighting(&self.editor.syntaxes) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 114 ~ match buffer.update_highlighting(&self.editor.syntaxes) [INFO] [stdout] 115 ~ { HighlightResult::Pending => { [INFO] [stdout] 116 | needs_redraw = true; [INFO] [stdout] 117 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | while let Some(event) = events.next(self.editor.events.reader()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor.rs:273:13 [INFO] [stdout] | [INFO] [stdout] 273 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:404:16 [INFO] [stdout] | [INFO] [stdout] 404 | if let Some(log_writer) = &mut self.0.log_writer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:407:13 [INFO] [stdout] | [INFO] [stdout] 407 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 404 ~ match &mut self.0.log_writer { Some(log_writer) => { [INFO] [stdout] 405 | use io::Write; [INFO] [stdout] 406 | let _ = log_writer.write_all(message.as_bytes()); [INFO] [stdout] 407 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:416:16 [INFO] [stdout] | [INFO] [stdout] 416 | if let Some(log_writer) = &mut self.0.log_writer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:419:13 [INFO] [stdout] | [INFO] [stdout] 419 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 416 ~ match &mut self.0.log_writer { Some(log_writer) => { [INFO] [stdout] 417 | use io::Write; [INFO] [stdout] 418 | let _ = log_writer.write_fmt(args); [INFO] [stdout] 419 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:441:16 [INFO] [stdout] | [INFO] [stdout] 441 | if let Some(log_writer) = &mut self.0.log_writer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/editor_utils.rs:445:13 [INFO] [stdout] | [INFO] [stdout] 445 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 441 ~ match &mut self.0.log_writer { Some(log_writer) => { [INFO] [stdout] 442 | use io::Write; [INFO] [stdout] 443 | let _ = log_writer.write_all(b"\n\n"); [INFO] [stdout] 444 | let _ = log_writer.flush(); [INFO] [stdout] 445 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/events.rs:201:17 [INFO] [stdout] | [INFO] [stdout] 201 | std::mem::drop(range_deletes); [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut BufferRangeDeletesMutGuard<'_>` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dropping_references)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 201 - std::mem::drop(range_deletes); [INFO] [stdout] 201 + let _ = range_deletes; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: calls to `std::mem::drop` with a reference instead of an owned value does nothing [INFO] [stdout] --> src/events.rs:220:17 [INFO] [stdout] | [INFO] [stdout] 220 | std::mem::drop(text_inserts); [INFO] [stdout] | ^^^^^^^^^^^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | argument has type `&mut BufferTextInsertsMutGuard<'_>` [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the expression or result [INFO] [stdout] | [INFO] [stdout] 220 - std::mem::drop(text_inserts); [INFO] [stdout] 220 + let _ = text_inserts; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl BufRead` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/help.rs:87:63 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn open(page_name: HelpPageName) -> (&'static str, impl io::BufRead) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/help.rs:87:31 [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn open(page_name: HelpPageName) -> (&'static str, impl io::BufRead) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 87 | pub(crate) fn open(page_name: HelpPageName) -> (&'static str, impl io::BufRead + use<>) { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/command.rs:143:8 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some((_, entry)) = ctx.editor.picker.current_entry(&ctx.editor.word_database) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/command.rs:147:5 [INFO] [stdout] | [INFO] [stdout] 147 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 ~ match ctx.editor.picker.current_entry(&ctx.editor.word_database) { Some((_, entry)) => { [INFO] [stdout] 144 | let input = ctx.editor.registers.get_mut(REGISTER_READLINE_INPUT); [INFO] [stdout] 145 | input.truncate(ctx.editor.mode.command_state.completion_index); [INFO] [stdout] 146 | input.push_str(entry); [INFO] [stdout] 147 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/command.rs:193:12 [INFO] [stdout] | [INFO] [stdout] 193 | if let Some(command) = ctx.editor.commands.find_command(command_name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/command.rs:198:9 [INFO] [stdout] | [INFO] [stdout] 198 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 193 ~ match ctx.editor.commands.find_command(command_name) { Some(command) => { [INFO] [stdout] 194 | let completion_index = arg_count - 1; [INFO] [stdout] ... [INFO] [stdout] 197 | } [INFO] [stdout] 198 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:1509:24 [INFO] [stdout] | [INFO] [stdout] 1509 | if let Some(cursor) = cursors[..].last() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:1521:21 [INFO] [stdout] | [INFO] [stdout] 1521 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1509 ~ match cursors[..].last() { Some(cursor) => { [INFO] [stdout] 1510 | let mut position = cursor.to_range().to; [INFO] [stdout] ... [INFO] [stdout] 1520 | } [INFO] [stdout] 1521 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:1533:24 [INFO] [stdout] | [INFO] [stdout] 1533 | if let Some(cursor) = cursors[..].first() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:1545:21 [INFO] [stdout] | [INFO] [stdout] 1545 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1533 ~ match cursors[..].first() { Some(cursor) => { [INFO] [stdout] 1534 | let mut position = cursor.to_range().from; [INFO] [stdout] ... [INFO] [stdout] 1544 | } [INFO] [stdout] 1545 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:2355:8 [INFO] [stdout] | [INFO] [stdout] 2355 | if let CursorMovementKind::PositionAndAnchor = ctx.editor.mode.normal_state.movement_kind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/normal.rs:2357:5 [INFO] [stdout] | [INFO] [stdout] 2357 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 2355 ~ match ctx.editor.mode.normal_state.movement_kind { CursorMovementKind::PositionAndAnchor => { [INFO] [stdout] 2356 | main_cursor.anchor = main_cursor.position; [INFO] [stdout] 2357 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mode/readline.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 203 | if let CursorMovementKind::PositionAndAnchor = ctx.editor.mode.normal_state.movement_kind { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mode/readline.rs:205:9 [INFO] [stdout] | [INFO] [stdout] 205 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 203 ~ match ctx.editor.mode.normal_state.movement_kind { CursorMovementKind::PositionAndAnchor => { [INFO] [stdout] 204 | main_cursor.anchor = main_cursor.position; [INFO] [stdout] 205 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platform.rs:190:12 [INFO] [stdout] | [INFO] [stdout] 190 | if let Some(mut command) = parse_process_command(&self.paste_command) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platform.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | } else if let Some(read_from_clipboard) = self.read_from_clipboard_fn { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 190 ~ match parse_process_command(&self.paste_command) { Some(mut command) => { [INFO] [stdout] 191 | command.stdin(Stdio::null()); [INFO] [stdout] ... [INFO] [stdout] 198 | } [INFO] [stdout] 199 ~ } _ => if let Some(read_from_clipboard) = self.read_from_clipboard_fn { [INFO] [stdout] 200 | read_from_clipboard(text); [INFO] [stdout] 201 | } else { [INFO] [stdout] 202 | text.push_str(&self.internal_clipboard); [INFO] [stdout] 203 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platform.rs:194:16 [INFO] [stdout] | [INFO] [stdout] 194 | if let Ok(output) = command.output() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platform.rs:198:13 [INFO] [stdout] | [INFO] [stdout] 198 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 194 ~ match command.output() { Ok(output) => { [INFO] [stdout] 195 | if let Ok(output) = String::from_utf8(output.stdout) { [INFO] [stdout] 196 | text.push_str(&output); [INFO] [stdout] 197 | } [INFO] [stdout] 198 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platform.rs:207:12 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(mut command) = parse_process_command(&self.copy_command) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platform.rs:218:9 [INFO] [stdout] | [INFO] [stdout] 218 | } else if let Some(write_to_clipboard) = self.write_to_clipboard_fn { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 207 ~ match parse_process_command(&self.copy_command) { Some(mut command) => { [INFO] [stdout] 208 | command.stdin(Stdio::piped()); [INFO] [stdout] ... [INFO] [stdout] 217 | } [INFO] [stdout] 218 ~ } _ => if let Some(write_to_clipboard) = self.write_to_clipboard_fn { [INFO] [stdout] 219 | write_to_clipboard(text); [INFO] [stdout] ... [INFO] [stdout] 222 | self.internal_clipboard.push_str(text); [INFO] [stdout] 223 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platform.rs:211:16 [INFO] [stdout] | [INFO] [stdout] 211 | if let Ok(mut child) = command.spawn() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platform.rs:217:13 [INFO] [stdout] | [INFO] [stdout] 217 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 211 ~ match command.spawn() { Ok(mut child) => { [INFO] [stdout] 212 | if let Some(mut stdin) = child.stdin.take() { [INFO] [stdout] ... [INFO] [stdout] 216 | let _ = child.wait(); [INFO] [stdout] 217 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/plugin.rs:104:37 [INFO] [stdout] | [INFO] [stdout] 104 | pub(crate) fn handles(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/plugin.rs:104:27 [INFO] [stdout] | [INFO] [stdout] 104 | pub(crate) fn handles(&self) -> impl Iterator { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 104 | pub(crate) fn handles(&self) -> impl Iterator + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ExactSizeIterator + Iterator + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:123:10 [INFO] [stdout] | [INFO] [stdout] 123 | ) -> impl 'a + ExactSizeIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/platforms/linux.rs:120:9 [INFO] [stdout] | [INFO] [stdout] 120 | &self, [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 123 | ) -> impl 'a + ExactSizeIterator + use<'a> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:268:24 [INFO] [stdout] | [INFO] [stdout] 268 | if let Some(process) = &mut processes[index] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:283:21 [INFO] [stdout] | [INFO] [stdout] 283 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 268 ~ match &mut processes[index] { Some(process) => { [INFO] [stdout] 269 | let tag = process.tag(); [INFO] [stdout] ... [INFO] [stdout] 282 | } [INFO] [stdout] 283 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:300:15 [INFO] [stdout] | [INFO] [stdout] 300 | while let Some(request) = requests.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:427:9 [INFO] [stdout] | [INFO] [stdout] 427 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:355:28 [INFO] [stdout] | [INFO] [stdout] 355 | if let Ok(child) = command.spawn() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:363:25 [INFO] [stdout] | [INFO] [stdout] 363 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 355 ~ match command.spawn() { Ok(child) => { [INFO] [stdout] 356 | let process = Process::new(child, tag, buf_len); [INFO] [stdout] ... [INFO] [stdout] 362 | spawned = true; [INFO] [stdout] 363 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:387:24 [INFO] [stdout] | [INFO] [stdout] 387 | if let Some(process) = &mut processes[index] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^---------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:389:21 [INFO] [stdout] | [INFO] [stdout] 389 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 387 ~ match &mut processes[index] { Some(process) => { [INFO] [stdout] 388 | process.close_input(); [INFO] [stdout] 389 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:393:24 [INFO] [stdout] | [INFO] [stdout] 393 | if let Some(mut process) = processes[index].take() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:401:21 [INFO] [stdout] | [INFO] [stdout] 401 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 393 ~ match processes[index].take() { Some(mut process) => { [INFO] [stdout] 394 | if let Some(fd) = process.try_as_raw_fd() { [INFO] [stdout] ... [INFO] [stdout] 400 | events.push(PlatformEvent::ProcessExit { tag }); [INFO] [stdout] 401 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:461:8 [INFO] [stdout] | [INFO] [stdout] 461 | if let Some(terminal) = &terminal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 474 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 461 ~ match &terminal { Some(terminal) => { [INFO] [stdout] 462 | terminal.enter_raw_mode(); [INFO] [stdout] ... [INFO] [stdout] 473 | } [INFO] [stdout] 474 ~ } _ => { [INFO] [stdout] 475 | resize_signal = None; [INFO] [stdout] 476 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:504:24 [INFO] [stdout] | [INFO] [stdout] 504 | if let Some(terminal) = &terminal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:509:21 [INFO] [stdout] | [INFO] [stdout] 509 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 504 ~ match &terminal { Some(terminal) => { [INFO] [stdout] 505 | match read(terminal.as_raw_fd(), &mut buf) { [INFO] [stdout] ... [INFO] [stdout] 508 | } [INFO] [stdout] 509 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:516:24 [INFO] [stdout] | [INFO] [stdout] 516 | if let Some(ref signal) = resize_signal { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/platforms/linux.rs:519:21 [INFO] [stdout] | [INFO] [stdout] 519 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 516 ~ match resize_signal { Some(ref signal) => { [INFO] [stdout] 517 | signal.read(); [INFO] [stdout] 518 | resize = terminal.as_ref().map(Terminal::get_size); [INFO] [stdout] 519 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 41 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.01s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking pepper v0.31.0 (/tmp/fixit) [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/lib.rs:219:68 [INFO] [stdout] | [INFO] [stdout] 219 | static mut ORIGINAL_PANIC_HOOK: MaybeUninit> = [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated type alias `std::panic::PanicInfo`: use `PanicHookInfo` instead [INFO] [stdout] --> src/lib.rs:219:68 [INFO] [stdout] | [INFO] [stdout] 219 | static mut ORIGINAL_PANIC_HOOK: MaybeUninit> = [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1676:13 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1676 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.path` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1679:39 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1679 | let path = std::mem::take(&mut self.path); [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `self.path` because it is borrowed [INFO] [stdout] --> src/buffer.rs:1684:13 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- `self.path` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 1684 | self.path = path.into(); [INFO] [stdout] | ^^^^^^^^^ `self.path` is assigned to here but it was already borrowed [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] | [INFO] [stdout] = note: borrow occurs due to deref coercion to `Path` [INFO] [stdout] note: deref defined here [INFO] [stdout] --> /rustc/ccf408f4326a858c00dd845a64a86b16f360a801/library/std/src/path.rs:1892:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1690:21 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1690 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1698:25 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1698 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/command/builtins.rs:912:9 [INFO] [stdout] | [INFO] [stdout] 912 | env::set_var(key, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*ctx` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/mode/insert.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 317 | for plugin_handle in ctx.plugins.handles() { [INFO] [stdout] | --------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 318 | let on_completion = ctx.plugins.get(plugin_handle).on_completion; [INFO] [stdout] 319 | if on_completion(plugin_handle, ctx, &completion_ctx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*ctx` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/mode/insert.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 403 | for plugin_handle in ctx.plugins.handles() { [INFO] [stdout] | --------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 404 | let on_completion = ctx.plugins.get(plugin_handle).on_completion; [INFO] [stdout] 405 | if !on_completion(plugin_handle, ctx, &completion_ctx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1676:13 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1676 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `self.path` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1679:39 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1679 | let path = std::mem::take(&mut self.path); [INFO] [stdout] | ^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `self.path` because it is borrowed [INFO] [stdout] --> src/buffer.rs:1684:13 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- `self.path` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 1684 | self.path = path.into(); [INFO] [stdout] | ^^^^^^^^^ `self.path` is assigned to here but it was already borrowed [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] | [INFO] [stdout] = note: borrow occurs due to deref coercion to `Path` [INFO] [stdout] note: deref defined here [INFO] [stdout] --> /rustc/ccf408f4326a858c00dd845a64a86b16f360a801/library/std/src/path.rs:1892:5 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1690:21 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1690 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/buffer.rs:1698:25 [INFO] [stdout] | [INFO] [stdout] 1668 | let help_page_name = self.path.to_str().and_then(help::parse_help_page_name); [INFO] [stdout] | --------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1698 | clear_buffer(self, word_database); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 1713 | } [INFO] [stdout] | - immutable borrow might be used here, when `help_page` is dropped and runs the destructor for type `Option<(&str, impl BufRead)>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0502, E0506. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `pepper` (lib) due to 9 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/command/builtins.rs:912:9 [INFO] [stdout] | [INFO] [stdout] 912 | env::set_var(key, value); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*ctx` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/mode/insert.rs:319:24 [INFO] [stdout] | [INFO] [stdout] 317 | for plugin_handle in ctx.plugins.handles() { [INFO] [stdout] | --------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 318 | let on_completion = ctx.plugins.get(plugin_handle).on_completion; [INFO] [stdout] 319 | if on_completion(plugin_handle, ctx, &completion_ctx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*ctx` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/mode/insert.rs:405:21 [INFO] [stdout] | [INFO] [stdout] 403 | for plugin_handle in ctx.plugins.handles() { [INFO] [stdout] | --------------------- [INFO] [stdout] | | [INFO] [stdout] | immutable borrow occurs here [INFO] [stdout] | immutable borrow later used here [INFO] [stdout] 404 | let on_completion = ctx.plugins.get(plugin_handle).on_completion; [INFO] [stdout] 405 | if !on_completion(plugin_handle, ctx, &completion_ctx) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0133, E0502, E0506. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `pepper` (lib test) due to 9 previous errors; 1 warning emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "c3614a30d536aa60c258ca2344456c027c97247435e339b704fe417a6bba2516", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c3614a30d536aa60c258ca2344456c027c97247435e339b704fe417a6bba2516", kill_on_drop: false }` [INFO] [stdout] c3614a30d536aa60c258ca2344456c027c97247435e339b704fe417a6bba2516