[INFO] fetching crate mdbook_fork4ls 0.4.41-patch.2... [INFO] checking mdbook_fork4ls-0.4.41-patch.2 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate mdbook_fork4ls 0.4.41-patch.2 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate mdbook_fork4ls 0.4.41-patch.2 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 mdbook_fork4ls 0.4.41-patch.2 [INFO] removed 0 missing examples [INFO] finished tweaking crates.io crate mdbook_fork4ls 0.4.41-patch.2 [INFO] tweaked toml for crates.io crate mdbook_fork4ls 0.4.41-patch.2 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate mdbook_fork4ls 0.4.41-patch.2 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] 455239dc3f0f027eb037bad098482b3e648366b5c749004f4b505c3a44251b6d [INFO] running `Command { std: "docker" "start" "-a" "455239dc3f0f027eb037bad098482b3e648366b5c749004f4b505c3a44251b6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "455239dc3f0f027eb037bad098482b3e648366b5c749004f4b505c3a44251b6d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "455239dc3f0f027eb037bad098482b3e648366b5c749004f4b505c3a44251b6d", kill_on_drop: false }` [INFO] [stdout] 455239dc3f0f027eb037bad098482b3e648366b5c749004f4b505c3a44251b6d [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] 15b16dfbf317f08a94bf9697acafcf60f4da0d3e10a9e07f957fa74fc5b2d72d [INFO] running `Command { std: "docker" "start" "-a" "15b16dfbf317f08a94bf9697acafcf60f4da0d3e10a9e07f957fa74fc5b2d72d", 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 unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling version_check v0.9.4 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling serde v1.0.203 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Checking bytes v1.6.0 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Compiling syn v2.0.68 [INFO] [stderr] Checking futf v0.1.5 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Checking tendril v0.4.3 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking tinyvec v1.6.1 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling phf_shared v0.11.2 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking anstyle v1.0.7 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking anstyle-parse v0.2.4 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.2 [INFO] [stderr] Compiling phf_codegen v0.11.2 [INFO] [stderr] Compiling phf_codegen v0.10.0 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling serde_json v1.0.118 [INFO] [stderr] Checking anstyle-query v1.1.0 [INFO] [stderr] Checking colorchoice v1.0.1 [INFO] [stderr] Checking is_terminal_polyfill v1.70.0 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Compiling ucd-trie v0.1.6 [INFO] [stderr] Checking anstream v0.6.14 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling markup5ever v0.12.1 [INFO] [stderr] Compiling markup5ever v0.11.0 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Compiling mime_guess v2.0.4 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking phf v0.11.2 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking bstr v1.9.1 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Checking phf v0.10.1 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking terminal_size v0.3.0 [INFO] [stderr] Checking data-encoding v2.6.0 [INFO] [stderr] Checking clap_lex v0.7.1 [INFO] [stderr] Checking inotify v0.9.6 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking headers-core v0.2.0 [INFO] [stderr] Checking clap_builder v4.5.7 [INFO] [stderr] Checking crossbeam-channel v0.5.13 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking filetime v0.2.23 [INFO] [stderr] Checking tower-service v0.3.2 [INFO] [stderr] Compiling pulldown-cmark v0.10.3 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Checking headers v0.3.9 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking notify v6.1.1 [INFO] [stderr] Checking globset v0.4.14 [INFO] [stderr] Checking env_filter v0.1.0 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking maplit v1.0.2 [INFO] [stderr] Checking predicates-core v1.0.6 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Compiling doc-comment v0.3.3 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Checking pulldown-cmark-escape v0.10.1 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Checking env_logger v0.11.3 [INFO] [stderr] Checking ignore v0.4.22 [INFO] [stderr] Checking notify-debouncer-mini v0.4.1 [INFO] [stderr] Checking opener v0.7.1 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Checking topological-sort v0.2.2 [INFO] [stderr] Checking pathdiff v0.2.1 [INFO] [stderr] Checking shlex v1.3.0 [INFO] [stderr] Checking difflib v0.4.0 [INFO] [stderr] Compiling assert_cmd v2.0.14 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking termtree v0.4.1 [INFO] [stderr] Checking normalize-line-endings v0.3.0 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking predicates-tree v1.0.9 [INFO] [stderr] Checking predicates v3.1.0 [INFO] [stderr] Checking clap v4.5.7 [INFO] [stderr] Checking wait-timeout v0.2.0 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking clap_complete v4.5.6 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Compiling serde_derive v1.0.203 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling tokio-macros v2.3.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling html5ever v0.27.0 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Checking tokio v1.38.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking tungstenite v0.21.0 [INFO] [stderr] Compiling pest v2.7.10 [INFO] [stderr] Compiling html5ever v0.26.0 [INFO] [stderr] Compiling pest_meta v2.7.10 [INFO] [stderr] Compiling pest_generator v2.7.10 [INFO] [stderr] Compiling pest_derive v2.7.10 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking tokio-tungstenite v0.21.0 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking string_cache v0.8.7 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking handlebars v5.1.2 [INFO] [stderr] Checking elasticlunr-rs v3.0.2 [INFO] [stderr] Checking xml5ever v0.17.0 [INFO] [stderr] Checking markup5ever_rcdom v0.2.0 [INFO] [stderr] Checking ammonia v4.0.0 [INFO] [stderr] Checking select v0.6.0 [INFO] [stderr] Checking hyper v0.14.29 [INFO] [stderr] Checking warp v0.3.7 [INFO] [stderr] Checking mdbook_fork4ls v0.4.41-patch.2 (/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 `mdbook_fork4ls` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/book/summary.rs [INFO] [stderr] * src/config.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/book/summary.rs:181:6 [INFO] [stderr] | [INFO] [stderr] 181 | ($stream:expr_2021,start $delimiter:pat) => { [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/book/summary.rs:184:6 [INFO] [stderr] | [INFO] [stderr] 184 | ($stream:expr_2021,end $delimiter:pat) => { [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/book/summary.rs:187:6 [INFO] [stderr] | [INFO] [stderr] 187 | ($stream:expr_2021, $delimiter:pat) => {{ [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:261:14 [INFO] [stderr] | [INFO] [stderr] 261 | ($table:expr_2021, $key:expr_2021 => $out: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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:261:32 [INFO] [stderr] | [INFO] [stderr] 261 | ($table:expr_2021, $key:expr_2021 => $out: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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:261:50 [INFO] [stderr] | [INFO] [stderr] 261 | ($table:expr_2021, $key:expr_2021 => $out: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] error: aborting due to 6 previous errors [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/book/summary.rs:181:14 [INFO] [stdout] | [INFO] [stdout] 181 | ($stream:expr,start $delimiter:pat) => { [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] 181 | ($stream:expr_2021,start $delimiter:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/book/summary.rs:184:14 [INFO] [stdout] | [INFO] [stdout] 184 | ($stream:expr,end $delimiter:pat) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 184 | ($stream:expr_2021,end $delimiter:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/book/summary.rs:187:14 [INFO] [stdout] | [INFO] [stdout] 187 | ($stream:expr, $delimiter:pat) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 187 | ($stream:expr_2021, $delimiter:pat) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:261:21 [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr => $out: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr_2021, $key:expr => $out:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:261:32 [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr => $out: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr_2021 => $out:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:261:45 [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr => $out: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr => $out:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [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/config.rs:1115:9 [INFO] [stdout] | [INFO] [stdout] 1115 | env::set_var(encoded_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] 1115 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1116 ~ unsafe { env::set_var(encoded_key, value) }; [INFO] [stdout] | [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/config.rs:1135:9 [INFO] [stdout] | [INFO] [stdout] 1135 | env::set_var(encoded_key, value_str); [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] 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] 1135 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1136 ~ unsafe { env::set_var(encoded_key, value_str) }; [INFO] [stdout] | [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/config.rs:1154:9 [INFO] [stdout] | [INFO] [stdout] 1154 | env::set_var("MDBOOK_BOOK__TITLE", &should_be); [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] 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] 1154 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1155 ~ unsafe { env::set_var("MDBOOK_BOOK__TITLE", &should_be) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/book/summary.rs:412:27 [INFO] [stdout] | [INFO] [stdout] 412 | while let Some(event) = self.next_event() { [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/book/summary.rs:416:21 [INFO] [stdout] | [INFO] [stdout] 416 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config.rs:278:16 [INFO] [stdout] | [INFO] [stdout] 278 | if let Ok(destination) = dest.try_into() { [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/config.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match dest.try_into() { Ok(destination) => { [INFO] [stdout] 279 | cfg.build.build_dir = destination; [INFO] [stdout] 280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config.rs:767:12 [INFO] [stdout] | [INFO] [stdout] 767 | if let Ok(value) = Value::try_from(value) { [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/config.rs:769:9 [INFO] [stdout] | [INFO] [stdout] 769 | } 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] 767 ~ match Value::try_from(value) { Ok(value) => { [INFO] [stdout] 768 | raw.insert(key, value); [INFO] [stdout] 769 ~ } _ => { [INFO] [stdout] 770 | return; [INFO] [stdout] 771 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config.rs:773:12 [INFO] [stdout] | [INFO] [stdout] 773 | if let Ok(updated) = raw.try_into() { [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/config.rs:775:9 [INFO] [stdout] | [INFO] [stdout] 775 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 773 ~ match raw.try_into() { Ok(updated) => { [INFO] [stdout] 774 | *self = updated; [INFO] [stdout] 775 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/preprocess/cmd.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 53 | if let Err(e) = self.write_input(stdin, book, ctx) { [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/preprocess/cmd.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 53 ~ match self.write_input(stdin, book, ctx) { Err(e) => { [INFO] [stdout] 54 | // Looks like the backend hung up before we could finish [INFO] [stdout] 55 | // sending it the render context. Log the error and keep going [INFO] [stdout] 56 | warn!("Error writing the RenderContext to the backend, {}", e); [INFO] [stdout] 57 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/preprocess/links.rs:402:16 [INFO] [stdout] | [INFO] [stdout] 402 | if let Some(inc) = Link::from_capture(cap) { [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/preprocess/links.rs:404:13 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match Link::from_capture(cap) { Some(inc) => { [INFO] [stdout] 403 | return Some(inc); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/renderer/html_handlebars/helpers/navigation.rs:101:24 [INFO] [stdout] | [INFO] [stdout] 101 | if let Some(item) = target.find(&base_path, path, &item, &previous)? { [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/renderer/html_handlebars/helpers/navigation.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 101 ~ match target.find(&base_path, path, &item, &previous)? { Some(item) => { [INFO] [stdout] 102 | return Ok(Some(item)); [INFO] [stdout] 103 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/renderer/html_handlebars/search.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 133 | while let Some(event) = p.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/renderer/html_handlebars/search.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/renderer/html_handlebars/search.rs:170:23 [INFO] [stdout] | [INFO] [stdout] 170 | while let Some(Event::Html(html)) = p.peek() { [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/renderer/html_handlebars/search.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/theme/mod.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 114 | if let Err(e) = load_file_contents(filename, dest) { [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/theme/mod.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | } 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] 114 ~ match load_file_contents(filename, dest) { Err(e) => { [INFO] [stdout] 115 | warn!("Couldn't load custom file, {}: {}", filename.display(), e); [INFO] [stdout] 116 | false [INFO] [stdout] 117 ~ } _ => { [INFO] [stdout] 118 | true [INFO] [stdout] 119 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/theme/mod.rs:132:20 [INFO] [stdout] | [INFO] [stdout] 132 | if let Ok(entries) = fonts_dir.read_dir() { [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/theme/mod.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 132 ~ match fonts_dir.read_dir() { Ok(entries) => { [INFO] [stdout] 133 | theme.font_files = entries [INFO] [stdout] ... [INFO] [stdout] 145 | .collect(); [INFO] [stdout] 146 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/mod.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(caps) = MD_LINK.captures(&dest) { [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/utils/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | } 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] 128 ~ match MD_LINK.captures(&dest) { Some(caps) => { [INFO] [stdout] 129 | fixed_link.push_str(&caps["link"]); [INFO] [stdout] ... [INFO] [stdout] 133 | } [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | fixed_link.push_str(&dest); [INFO] [stdout] 136 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/mod.rs:131:20 [INFO] [stdout] | [INFO] [stdout] 131 | if let Some(anchor) = caps.name("anchor") { [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/utils/mod.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match caps.name("anchor") { Some(anchor) => { [INFO] [stdout] 132 | fixed_link.push_str(anchor.as_str()); [INFO] [stdout] 133 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/string.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | } else if let Some(cap) = ANCHOR_START.captures(l) { [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/utils/string.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 52 ~ } else { match ANCHOR_START.captures(l) { Some(cap) => { [INFO] [stdout] 53 | if &cap["anchor_name"] == anchor { [INFO] [stdout] 54 | anchor_found = true; [INFO] [stdout] 55 | } [INFO] [stdout] 56 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/string.rs:103:19 [INFO] [stdout] | [INFO] [stdout] 103 | } else if let Some(cap) = ANCHOR_START.captures(l) { [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/utils/string.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } else if !ANCHOR_END.is_match(l) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ } else { match ANCHOR_START.captures(l) { Some(cap) => { [INFO] [stdout] 104 | if &cap["anchor_name"] == anchor { [INFO] [stdout] 105 | within_anchored_section = true; [INFO] [stdout] 106 | } [INFO] [stdout] 107 ~ } _ => if !ANCHOR_END.is_match(l) { [INFO] [stdout] 108 | output.push_str("# "); [INFO] [stdout] 109 | output.push_str(l); [INFO] [stdout] 110 | output.push('\n'); [INFO] [stdout] 111 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 24 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `mdbook_fork4ls` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/book/summary.rs [INFO] [stderr] * src/config.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/book/summary.rs:181:6 [INFO] [stderr] | [INFO] [stderr] 181 | ($stream:expr_2021,start $delimiter:pat) => { [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/book/summary.rs:184:6 [INFO] [stderr] | [INFO] [stderr] 184 | ($stream:expr_2021,end $delimiter:pat) => { [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/book/summary.rs:187:6 [INFO] [stderr] | [INFO] [stderr] 187 | ($stream:expr_2021, $delimiter:pat) => {{ [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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:261:14 [INFO] [stderr] | [INFO] [stderr] 261 | ($table:expr_2021, $key:expr_2021 => $out: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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:261:32 [INFO] [stderr] | [INFO] [stderr] 261 | ($table:expr_2021, $key:expr_2021 => $out: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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/config.rs:261:50 [INFO] [stderr] | [INFO] [stderr] 261 | ($table:expr_2021, $key:expr_2021 => $out: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] error: aborting due to 6 previous errors [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/book/summary.rs:181:14 [INFO] [stdout] | [INFO] [stdout] 181 | ($stream:expr,start $delimiter:pat) => { [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] 181 | ($stream:expr_2021,start $delimiter:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/book/summary.rs:184:14 [INFO] [stdout] | [INFO] [stdout] 184 | ($stream:expr,end $delimiter:pat) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 184 | ($stream:expr_2021,end $delimiter:pat) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/book/summary.rs:187:14 [INFO] [stdout] | [INFO] [stdout] 187 | ($stream:expr, $delimiter:pat) => {{ [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 187 | ($stream:expr_2021, $delimiter:pat) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:261:21 [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr => $out: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr_2021, $key:expr => $out:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:261:32 [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr => $out: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr_2021 => $out:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/config.rs:261:45 [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr => $out: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 261 | ($table:expr, $key:expr => $out:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/book/summary.rs:412:27 [INFO] [stdout] | [INFO] [stdout] 412 | while let Some(event) = self.next_event() { [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/book/summary.rs:416:21 [INFO] [stdout] | [INFO] [stdout] 416 | } [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config.rs:278:16 [INFO] [stdout] | [INFO] [stdout] 278 | if let Ok(destination) = dest.try_into() { [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/config.rs:280:13 [INFO] [stdout] | [INFO] [stdout] 280 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match dest.try_into() { Ok(destination) => { [INFO] [stdout] 279 | cfg.build.build_dir = destination; [INFO] [stdout] 280 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config.rs:767:12 [INFO] [stdout] | [INFO] [stdout] 767 | if let Ok(value) = Value::try_from(value) { [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/config.rs:769:9 [INFO] [stdout] | [INFO] [stdout] 769 | } 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] 767 ~ match Value::try_from(value) { Ok(value) => { [INFO] [stdout] 768 | raw.insert(key, value); [INFO] [stdout] 769 ~ } _ => { [INFO] [stdout] 770 | return; [INFO] [stdout] 771 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config.rs:773:12 [INFO] [stdout] | [INFO] [stdout] 773 | if let Ok(updated) = raw.try_into() { [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/config.rs:775:9 [INFO] [stdout] | [INFO] [stdout] 775 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 773 ~ match raw.try_into() { Ok(updated) => { [INFO] [stdout] 774 | *self = updated; [INFO] [stdout] 775 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/preprocess/cmd.rs:53:12 [INFO] [stdout] | [INFO] [stdout] 53 | if let Err(e) = self.write_input(stdin, book, ctx) { [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/preprocess/cmd.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 53 ~ match self.write_input(stdin, book, ctx) { Err(e) => { [INFO] [stdout] 54 | // Looks like the backend hung up before we could finish [INFO] [stdout] 55 | // sending it the render context. Log the error and keep going [INFO] [stdout] 56 | warn!("Error writing the RenderContext to the backend, {}", e); [INFO] [stdout] 57 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/preprocess/links.rs:402:16 [INFO] [stdout] | [INFO] [stdout] 402 | if let Some(inc) = Link::from_capture(cap) { [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/preprocess/links.rs:404:13 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 402 ~ match Link::from_capture(cap) { Some(inc) => { [INFO] [stdout] 403 | return Some(inc); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/renderer/html_handlebars/helpers/navigation.rs:101:24 [INFO] [stdout] | [INFO] [stdout] 101 | if let Some(item) = target.find(&base_path, path, &item, &previous)? { [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/renderer/html_handlebars/helpers/navigation.rs:103:21 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 101 ~ match target.find(&base_path, path, &item, &previous)? { Some(item) => { [INFO] [stdout] 102 | return Ok(Some(item)); [INFO] [stdout] 103 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/renderer/html_handlebars/search.rs:133:11 [INFO] [stdout] | [INFO] [stdout] 133 | while let Some(event) = p.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/renderer/html_handlebars/search.rs:210:5 [INFO] [stdout] | [INFO] [stdout] 210 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/renderer/html_handlebars/search.rs:170:23 [INFO] [stdout] | [INFO] [stdout] 170 | while let Some(Event::Html(html)) = p.peek() { [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/renderer/html_handlebars/search.rs:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/theme/mod.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 114 | if let Err(e) = load_file_contents(filename, dest) { [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/theme/mod.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | } 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] 114 ~ match load_file_contents(filename, dest) { Err(e) => { [INFO] [stdout] 115 | warn!("Couldn't load custom file, {}: {}", filename.display(), e); [INFO] [stdout] 116 | false [INFO] [stdout] 117 ~ } _ => { [INFO] [stdout] 118 | true [INFO] [stdout] 119 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/theme/mod.rs:132:20 [INFO] [stdout] | [INFO] [stdout] 132 | if let Ok(entries) = fonts_dir.read_dir() { [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/theme/mod.rs:146:17 [INFO] [stdout] | [INFO] [stdout] 146 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 132 ~ match fonts_dir.read_dir() { Ok(entries) => { [INFO] [stdout] 133 | theme.font_files = entries [INFO] [stdout] ... [INFO] [stdout] 145 | .collect(); [INFO] [stdout] 146 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/mod.rs:128:16 [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(caps) = MD_LINK.captures(&dest) { [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/utils/mod.rs:134:13 [INFO] [stdout] | [INFO] [stdout] 134 | } 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] 128 ~ match MD_LINK.captures(&dest) { Some(caps) => { [INFO] [stdout] 129 | fixed_link.push_str(&caps["link"]); [INFO] [stdout] ... [INFO] [stdout] 133 | } [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | fixed_link.push_str(&dest); [INFO] [stdout] 136 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/mod.rs:131:20 [INFO] [stdout] | [INFO] [stdout] 131 | if let Some(anchor) = caps.name("anchor") { [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/utils/mod.rs:133:17 [INFO] [stdout] | [INFO] [stdout] 133 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match caps.name("anchor") { Some(anchor) => { [INFO] [stdout] 132 | fixed_link.push_str(anchor.as_str()); [INFO] [stdout] 133 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/string.rs:52:19 [INFO] [stdout] | [INFO] [stdout] 52 | } else if let Some(cap) = ANCHOR_START.captures(l) { [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/utils/string.rs:56:9 [INFO] [stdout] | [INFO] [stdout] 56 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 52 ~ } else { match ANCHOR_START.captures(l) { Some(cap) => { [INFO] [stdout] 53 | if &cap["anchor_name"] == anchor { [INFO] [stdout] 54 | anchor_found = true; [INFO] [stdout] 55 | } [INFO] [stdout] 56 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/string.rs:103:19 [INFO] [stdout] | [INFO] [stdout] 103 | } else if let Some(cap) = ANCHOR_START.captures(l) { [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/utils/string.rs:107:9 [INFO] [stdout] | [INFO] [stdout] 107 | } else if !ANCHOR_END.is_match(l) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ } else { match ANCHOR_START.captures(l) { Some(cap) => { [INFO] [stdout] 104 | if &cap["anchor_name"] == anchor { [INFO] [stdout] 105 | within_anchored_section = true; [INFO] [stdout] 106 | } [INFO] [stdout] 107 ~ } _ => if !ANCHOR_END.is_match(l) { [INFO] [stdout] 108 | output.push_str("# "); [INFO] [stdout] 109 | output.push_str(l); [INFO] [stdout] 110 | output.push('\n'); [INFO] [stdout] 111 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Fixed src/main.rs (2 fixes) [INFO] [stderr] Migrating tests/rendered_output.rs from 2021 edition to 2024 [INFO] [stderr] Fixed src/cmd/watch/poller.rs (1 fix) [INFO] [stderr] Fixed src/cmd/serve.rs (1 fix) [INFO] [stderr] Fixed src/cmd/watch/native.rs (2 fixes) [INFO] [stderr] Migrating tests/testing.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `rendered_output` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/rendered_output.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] --> tests/rendered_output.rs:229:6 [INFO] [stderr] | [INFO] [stderr] 229 | ($root:expr_2021, $($child: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] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> tests/rendered_output.rs:229:25 [INFO] [stderr] | [INFO] [stderr] 229 | ($root:expr_2021, $($child: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] error: aborting due to 2 previous errors [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] --> tests/rendered_output.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 229 | ($root:expr, $($child: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] 229 | ($root:expr_2021, $($child:expr),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/rendered_output.rs:229:27 [INFO] [stdout] | [INFO] [stdout] 229 | ($root:expr, $($child: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] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 229 | ($root:expr, $($child:expr_2021),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/alternative_backends.rs from 2021 edition to 2024 [INFO] [stderr] Migrating examples/nop-preprocessor.rs from 2021 edition to 2024 [INFO] [stderr] Fixed examples/nop-preprocessor.rs (1 fix) [INFO] [stderr] Migrating tests/parse_existing_summary_files.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `parse_existing_summary_files` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * tests/parse_existing_summary_files.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] --> tests/parse_existing_summary_files.rs:10:19 [INFO] [stderr] | [INFO] [stderr] 10 | ($name:ident, $filename: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] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stderr] Migrating tests/build_process.rs from 2021 edition to 2024 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> tests/parse_existing_summary_files.rs:10:29 [INFO] [stdout] | [INFO] [stdout] 10 | ($name:ident, $filename: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] 10 | ($name:ident, $filename:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/parse_existing_summary_files.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | if let Err(e) = book::parse_summary(&content) { [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] 40 | summary_md_test!(rust_by_example, "rust_by_example.md"); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [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] --> tests/parse_existing_summary_files.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 40 | summary_md_test!(rust_by_example, "rust_by_example.md"); [INFO] [stdout] | ------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] = note: this warning originates in the macro `summary_md_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/parse_existing_summary_files.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | if let Err(e) = book::parse_summary(&content) { [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] 41 | summary_md_test!(rust_ffi_guide, "rust_ffi_guide.md"); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [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] --> tests/parse_existing_summary_files.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 41 | summary_md_test!(rust_ffi_guide, "rust_ffi_guide.md"); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `summary_md_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/parse_existing_summary_files.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | if let Err(e) = book::parse_summary(&content) { [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] 42 | summary_md_test!(example_book, "example_book.md"); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [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] --> tests/parse_existing_summary_files.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 42 | summary_md_test!(example_book, "example_book.md"); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `summary_md_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> tests/parse_existing_summary_files.rs:30:16 [INFO] [stdout] | [INFO] [stdout] 30 | if let Err(e) = book::parse_summary(&content) { [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] 43 | summary_md_test!(the_book_2nd_edition, "the_book-2nd_edition.md"); [INFO] [stdout] | ----------------------------------------------------------------- in this macro invocation [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] --> tests/parse_existing_summary_files.rs:35:13 [INFO] [stdout] | [INFO] [stdout] 35 | } [INFO] [stdout] | ^ [INFO] [stdout] ... [INFO] [stdout] 43 | summary_md_test!(the_book_2nd_edition, "the_book-2nd_edition.md"); [INFO] [stdout] | ----------------------------------------------------------------- in this macro invocation [INFO] [stdout] = note: this warning originates in the macro `summary_md_test` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating tests/custom_preprocessors.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/cli_tests.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/init.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 24.47s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking mdbook_fork4ls v0.4.41-patch.2 (/tmp/fixit) [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/config.rs:1115:9 [INFO] [stdout] | [INFO] [stdout] 1115 | env::set_var(encoded_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[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/config.rs:1135:9 [INFO] [stdout] | [INFO] [stdout] 1135 | env::set_var(encoded_key, value_str); [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[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/config.rs:1154:9 [INFO] [stdout] | [INFO] [stdout] 1154 | env::set_var("MDBOOK_BOOK__TITLE", &should_be); [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: aborting due to 3 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `mdbook_fork4ls` (lib test) due to 4 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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" "15b16dfbf317f08a94bf9697acafcf60f4da0d3e10a9e07f957fa74fc5b2d72d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "15b16dfbf317f08a94bf9697acafcf60f4da0d3e10a9e07f957fa74fc5b2d72d", kill_on_drop: false }` [INFO] [stdout] 15b16dfbf317f08a94bf9697acafcf60f4da0d3e10a9e07f957fa74fc5b2d72d