[INFO] fetching crate viceroy-lib 0.12.0... [INFO] checking viceroy-lib-0.12.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate viceroy-lib 0.12.0 into /workspace/builds/worker-7-tc2/source [INFO] validating manifest of crates.io crate viceroy-lib 0.12.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 viceroy-lib 0.12.0 [INFO] finished tweaking crates.io crate viceroy-lib 0.12.0 [INFO] tweaked toml for crates.io crate viceroy-lib 0.12.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 309 packages to latest compatible versions [INFO] [stderr] Adding addr2line v0.21.0 (available: v0.24.1) [INFO] [stderr] Adding base64 v0.21.7 (available: v0.22.1) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding core-foundation v0.9.4 (available: v0.10.0) [INFO] [stderr] Adding cranelift-bforest v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-codegen v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-codegen-meta v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-codegen-shared v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-control v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-entity v0.88.2 (available: v0.112.1) [INFO] [stderr] Adding cranelift-entity v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-frontend v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-isle v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-native v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding cranelift-wasm v0.109.0 (available: v0.112.1) [INFO] [stderr] Adding dirs v4.0.0 (available: v5.0.1) [INFO] [stderr] Adding dirs-sys v0.3.7 (available: v0.4.1) [INFO] [stderr] Adding embedded-io v0.4.0 (available: v0.6.1) [INFO] [stderr] Adding env_logger v0.10.2 (available: v0.11.5) [INFO] [stderr] Adding fxprof-processed-profile v0.6.0 (available: v0.7.0) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding gimli v0.28.1 (available: v0.31.0) [INFO] [stderr] Adding h2 v0.3.26 (available: v0.4.6) [INFO] [stderr] Adding hashbrown v0.13.2 (available: v0.14.5) [INFO] [stderr] Adding heck v0.4.1 (available: v0.5.0) [INFO] [stderr] Adding hermit-abi v0.3.9 (available: v0.4.0) [INFO] [stderr] Adding http v0.2.12 (available: v1.1.0) [INFO] [stderr] Adding http-body v0.4.6 (available: v1.0.1) [INFO] [stderr] Adding hyper v0.14.26 (available: v0.14.30) [INFO] [stderr] Adding idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding itertools v0.10.5 (available: v0.13.0) [INFO] [stderr] Adding itertools v0.12.1 (available: v0.13.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding openvino v0.6.0 (available: v0.7.2) [INFO] [stderr] Adding openvino-finder v0.6.0 (available: v0.7.2) [INFO] [stderr] Adding openvino-sys v0.6.0 (available: v0.7.2) [INFO] [stderr] Adding regalloc2 v0.9.3 (available: v0.10.2) [INFO] [stderr] Adding rustc-hash v1.1.0 (available: v2.0.0) [INFO] [stderr] Adding rustls v0.21.12 (available: v0.23.13) [INFO] [stderr] Adding rustls-native-certs v0.6.3 (available: v0.8.0) [INFO] [stderr] Adding rustls-pemfile v1.0.4 (available: v2.1.3) [INFO] [stderr] Adding rustls-webpki v0.101.7 (available: v0.102.8) [INFO] [stderr] Adding security-framework v2.11.1 (available: v3.0.0) [INFO] [stderr] Adding semver v0.10.0 (available: v1.0.23) [INFO] [stderr] Adding semver-parser v0.7.0 (available: v0.10.2) [INFO] [stderr] Adding shellexpand v2.1.2 (available: v3.1.0) [INFO] [stderr] Adding socket2 v0.4.10 (available: v0.5.7) [INFO] [stderr] Adding tokio-rustls v0.24.1 (available: v0.26.0) [INFO] [stderr] Adding toml v0.5.11 (available: v0.8.19) [INFO] [stderr] Adding unicode-width v0.1.14 (available: v0.2.0) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding wasm-encoder v0.208.1 (available: v0.217.0) [INFO] [stderr] Adding wasm-encoder v0.209.1 (available: v0.217.0) [INFO] [stderr] Adding wasm-metadata v0.208.1 (available: v0.217.0) [INFO] [stderr] Adding wasmparser v0.208.1 (available: v0.217.0) [INFO] [stderr] Adding wasmparser v0.209.1 (available: v0.217.0) [INFO] [stderr] Adding wasmprinter v0.209.1 (available: v0.217.0) [INFO] [stderr] Adding wasmtime v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-asm-macros v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-cache v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-component-macro v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-component-util v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-cranelift v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-environ v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-fiber v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-jit-debug v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-jit-icache-coherence v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-slab v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-types v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-versioned-export-macros v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-wasi v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-wasi-nn v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-winch v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wasmtime-wit-bindgen v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wast v35.0.2 (available: v217.0.0) [INFO] [stderr] Adding wiggle v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wiggle-generate v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding wiggle-macro v22.0.0 (available: v25.0.1) [INFO] [stderr] Adding winch-codegen v0.20.0 (available: v0.23.1) [INFO] [stderr] Adding windows-core v0.52.0 (available: v0.58.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding wit-component v0.208.1 (available: v0.217.0) [INFO] [stderr] Adding wit-parser v0.208.1 (available: v0.217.0) [INFO] [stderr] Adding wit-parser v0.209.1 (available: v0.217.0) [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-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 092b777b11a55b430eaa028a1e83cc761c8931610626b854311206055b27f86b [INFO] running `Command { std: "docker" "start" "-a" "092b777b11a55b430eaa028a1e83cc761c8931610626b854311206055b27f86b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "092b777b11a55b430eaa028a1e83cc761c8931610626b854311206055b27f86b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "092b777b11a55b430eaa028a1e83cc761c8931610626b854311206055b27f86b", kill_on_drop: false }` [INFO] [stdout] 092b777b11a55b430eaa028a1e83cc761c8931610626b854311206055b27f86b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 01d1b4ed8e750133a8cfa9e668dee3ff9f174fb6d0306b15a88a4ead14699ed1 [INFO] running `Command { std: "docker" "start" "-a" "01d1b4ed8e750133a8cfa9e668dee3ff9f174fb6d0306b15a88a4ead14699ed1", 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 version_check v0.9.5 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling rustix v0.38.37 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Compiling cranelift-isle v0.109.0 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Compiling cranelift-codegen-shared v0.109.0 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Compiling jobserver v0.1.32 [INFO] [stderr] Compiling cranelift-codegen-meta v0.109.0 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Compiling wasmtime-versioned-export-macros v22.0.0 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling once_cell v1.19.0 [INFO] [stderr] Checking bumpalo v3.16.0 [INFO] [stderr] Compiling io-lifetimes v2.0.3 [INFO] [stderr] Checking hashbrown v0.13.2 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Checking rustc-hash v1.1.0 [INFO] [stderr] Checking arbitrary v1.3.2 [INFO] [stderr] Checking slice-group-by v0.3.1 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling zstd-sys v2.0.13+zstd.1.5.6 [INFO] [stderr] Checking cranelift-control v0.109.0 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Compiling io-extras v0.18.2 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Checking ambient-authority v0.0.2 [INFO] [stderr] Compiling cpp_demangle v0.4.4 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling cranelift-codegen v0.109.0 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling cap-primitives v3.3.0 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Compiling zstd-safe v7.2.1 [INFO] [stderr] Compiling regex-syntax v0.8.4 [INFO] [stderr] Checking cobs v0.2.3 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Compiling ittapi-sys v0.4.0 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling indexmap v2.5.0 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling wasmparser v0.209.1 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking cranelift-entity v0.109.0 [INFO] [stderr] Checking regalloc2 v0.9.3 [INFO] [stderr] Checking cranelift-bforest v0.109.0 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Checking fs-set-times v0.20.1 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Checking postcard v1.0.10 [INFO] [stderr] Compiling regex-automata v0.4.7 [INFO] [stderr] Checking gimli v0.28.1 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking winnow v0.6.20 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Compiling id-arena v2.2.1 [INFO] [stderr] Checking maybe-owned v0.3.4 [INFO] [stderr] Checking ipnet v2.10.0 [INFO] [stderr] Compiling wast v35.0.2 [INFO] [stderr] Compiling regex v1.10.6 [INFO] [stderr] Checking toml_edit v0.22.22 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling wit-parser v0.209.1 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Checking wasmtime-types v22.0.0 [INFO] [stderr] Checking wasmprinter v0.209.1 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Compiling wasmtime-fiber v22.0.0 [INFO] [stderr] Compiling is-terminal v0.4.13 [INFO] [stderr] Checking wasm-encoder v0.209.1 [INFO] [stderr] Checking wasm-encoder v0.217.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Checking unicode-width v0.1.14 [INFO] [stderr] Checking wasmtime-component-util v22.0.0 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Compiling wasmtime-component-macro v22.0.0 [INFO] [stderr] Compiling cap-std v3.3.0 [INFO] [stderr] Compiling libm v0.2.8 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling humantime v2.1.0 [INFO] [stderr] Compiling wasmtime-cache v22.0.0 [INFO] [stderr] Compiling termcolor v1.4.1 [INFO] [stderr] Checking cpufeatures v0.2.14 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking wast v217.0.0 [INFO] [stderr] Compiling env_logger v0.10.2 [INFO] [stderr] Checking debugid v0.8.0 [INFO] [stderr] Checking wasmtime-environ v22.0.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking directories-next v2.0.0 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Compiling wasmtime-wit-bindgen v22.0.0 [INFO] [stderr] Compiling witx v0.9.1 [INFO] [stderr] Checking zstd v0.13.2 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Compiling shellexpand v2.1.2 [INFO] [stderr] Compiling wasmtime v22.0.0 [INFO] [stderr] Compiling openvino-finder v0.6.0 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking wasmtime-asm-macros v22.0.0 [INFO] [stderr] Compiling wiggle-macro v22.0.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Compiling openvino-sys v0.6.0 [INFO] [stderr] Checking fxprof-processed-profile v0.6.0 [INFO] [stderr] Checking ittapi v0.4.0 [INFO] [stderr] Compiling wiggle-generate v22.0.0 [INFO] [stderr] Checking wat v1.217.0 [INFO] [stderr] Checking wasmtime-jit-debug v22.0.0 [INFO] [stderr] Checking addr2line v0.21.0 [INFO] [stderr] Checking wasmparser v0.208.1 [INFO] [stderr] Checking memfd v0.6.4 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking wasmtime-jit-icache-coherence v22.0.0 [INFO] [stderr] Checking encoding_rs v0.8.34 [INFO] [stderr] Checking sptr v0.3.2 [INFO] [stderr] Checking wasmtime-slab v22.0.0 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Compiling system-interface v0.27.2 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Compiling rustls v0.21.12 [INFO] [stderr] Compiling cap-fs-ext v3.3.0 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Compiling wasmtime-wasi-nn v22.0.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Checking sct v0.7.1 [INFO] [stderr] Checking rustls-webpki v0.101.7 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking spdx v0.10.6 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking cap-time-ext v3.3.0 [INFO] [stderr] Checking cap-rand v3.3.0 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Compiling clap_derive v4.5.18 [INFO] [stderr] Checking cranelift-frontend v0.109.0 [INFO] [stderr] Checking cranelift-native v0.109.0 [INFO] [stderr] Checking clap_builder v4.5.18 [INFO] [stderr] Checking cranelift-wasm v0.109.0 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking wasmtime-cranelift v22.0.0 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking openvino v0.6.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking wasm-encoder v0.208.1 [INFO] [stderr] Checking wit-parser v0.208.1 [INFO] [stderr] Checking cap-net-ext v3.3.0 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking socket2 v0.4.10 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking semver-parser v0.7.0 [INFO] [stderr] Checking hyper v0.14.26 [INFO] [stderr] Checking rustls-native-certs v0.6.3 [INFO] [stderr] Checking clap v4.5.18 [INFO] [stderr] Checking tokio-rustls v0.24.1 [INFO] [stderr] Checking semver v0.10.0 [INFO] [stderr] Checking wasm-metadata v0.208.1 [INFO] [stderr] Checking fastly-shared v0.10.5 [INFO] [stderr] Checking tracing-futures v0.2.5 [INFO] [stderr] Checking flate2 v1.0.34 [INFO] [stderr] Checking toml v0.5.11 [INFO] [stderr] Checking bytesize v1.3.0 [INFO] [stderr] Checking cranelift-entity v0.88.2 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking tempfile v3.12.0 [INFO] [stderr] Checking wit-component v0.208.1 [INFO] [stderr] Checking wiggle v22.0.0 [INFO] [stderr] Checking wasmtime-wasi v22.0.0 [INFO] [stderr] Checking viceroy-lib v0.12.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 `viceroy_lib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/wiggle_abi.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/wiggle_abi.rs:39:22 [INFO] [stderr] | [INFO] [stderr] 39 | ( $memory:ident, $expr:expr_2021, $ending_cursor_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/wiggle_abi.rs:39:39 [INFO] [stderr] | [INFO] [stderr] 39 | ( $memory:ident, $expr:expr_2021, $ending_cursor_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 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] --> src/wiggle_abi.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | ( $memory:ident, $expr:expr, $ending_cursor_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] = 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] 39 | ( $memory:ident, $expr:expr_2021, $ending_cursor_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/wiggle_abi.rs:39:53 [INFO] [stdout] | [INFO] [stdout] 39 | ( $memory:ident, $expr:expr, $ending_cursor_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] 39 | ( $memory:ident, $expr:expr, $ending_cursor_out:expr_2021 ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adapt.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | if let Some((id, range)) = payload.as_section() { [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/adapt.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | } [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] 88 ~ match payload.as_section() { Some((id, range)) => { [INFO] [stdout] 89 | module.section(&wasm_encoder::RawSection { [INFO] [stdout] ... [INFO] [stdout] 92 | }); [INFO] [stdout] 93 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/body.rs:124:15 [INFO] [stdout] | [INFO] [stdout] 124 | while let Some(chunk) = body.data().await.transpose()? { [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/body.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/body.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 142 | if let Some(Ok(chunk)) = self.data().await { [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/body.rs:146:9 [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] 142 ~ match self.data().await { Some(Ok(chunk)) => { [INFO] [stdout] 143 | // If we did get a chunk, put it back; subsequent read attempts will find this chunk without [INFO] [stdout] 144 | // additional blocking. [INFO] [stdout] 145 | self.chunks.push_front(chunk.into()) [INFO] [stdout] 146 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/body.rs:194:15 [INFO] [stdout] | [INFO] [stdout] 194 | while let Some(mut chunk) = self.chunks.pop_front() { [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/body.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some(Some(body)) = self.async_items.get(handle.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/session.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 362 | } 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] 360 ~ match self.async_items.get(handle.into()) { Some(Some(body)) => { [INFO] [stdout] 361 | body.is_streaming() [INFO] [stdout] 362 ~ } _ => { [INFO] [stdout] 363 | false [INFO] [stdout] 364 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session.rs:643:12 [INFO] [stdout] | [INFO] [stdout] 643 | if let Some(dict) = self.dictionaries.get(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/session.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 646 | } 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] 643 ~ match self.dictionaries.get(name) { Some(dict) => { [INFO] [stdout] 644 | let loaded = dict.load().map_err(|err| Error::Other(err.into()))?; [INFO] [stdout] 645 | Ok(self.loaded_dictionaries.push(loaded)) [INFO] [stdout] 646 ~ } _ => { [INFO] [stdout] 647 | Err(Error::DictionaryError( [INFO] [stdout] 648 | crate::wiggle_abi::DictionaryError::UnknownDictionary(name.to_owned()), [INFO] [stdout] 649 | )) [INFO] [stdout] 650 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session.rs:976:16 [INFO] [stdout] | [INFO] [stdout] 976 | if let Ok(item) = self.take_async_item(handle) { [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/session.rs:978:13 [INFO] [stdout] | [INFO] [stdout] 978 | } 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] 976 ~ match self.take_async_item(handle) { Ok(item) => { [INFO] [stdout] 977 | targets.push(SelectTarget { handle, item }); [INFO] [stdout] 978 ~ } _ => { [INFO] [stdout] 979 | self.reinsert_select_targets(targets); [INFO] [stdout] 980 | return Err(HandleError::InvalidPendingRequestHandle(handle.into())); [INFO] [stdout] 981 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/async_item.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | if let Self::Body(mut body) = std::mem::replace(self, Self::StreamingBody(streaming)) { [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/session/async_item.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | } 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] 102 ~ match std::mem::replace(self, Self::StreamingBody(streaming)) { Self::Body(mut body) => { [INFO] [stdout] 103 | body.push_back(receiver); [INFO] [stdout] 104 | Some(body) [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | unreachable!("!self.is_streaming, but was actually streaming"); [INFO] [stdout] 107 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/async_item.rs:233:16 [INFO] [stdout] | [INFO] [stdout] 233 | if let Ok(v) = rx.await { [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/session/async_item.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | } 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] 233 ~ match rx.await { Ok(v) => { [INFO] [stdout] 234 | *self = PeekableTask::Complete(v) [INFO] [stdout] 235 ~ } _ => { [INFO] [stdout] 236 | // todo, not the correct error type [INFO] [stdout] ... [INFO] [stdout] 240 | .into())); [INFO] [stdout] 241 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/backend.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(host) = backend.override_host.as_ref() { [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/component/backend.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | } 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] 62 ~ match backend.override_host.as_ref() { Some(host) => { [INFO] [stdout] 63 | let host = host.to_str()?; [INFO] [stdout] ... [INFO] [stdout] 73 | Ok(Some(host.as_bytes().to_owned())) [INFO] [stdout] 74 ~ } _ => { [INFO] [stdout] 75 | Ok(None) [INFO] [stdout] 76 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/device_detection.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(result) = self.session.device_detection_lookup(&user_agent) { [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/component/device_detection.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | } 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] 13 ~ match self.session.device_detection_lookup(&user_agent) { Some(result) => { [INFO] [stdout] 14 | if result.len() > max_len as usize { [INFO] [stdout] ... [INFO] [stdout] 20 | Ok(Some(result.into_bytes())) [INFO] [stdout] 21 ~ } _ => { [INFO] [stdout] 22 | Ok(None) [INFO] [stdout] 23 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/http_body.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | if let Some(chunk) = body.data().await { [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/component/http_body.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | } 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] 84 ~ match body.data().await { Some(chunk) => { [INFO] [stdout] 85 | // pass up any error encountered when reading a chunk [INFO] [stdout] ... [INFO] [stdout] 96 | Ok(chunk) [INFO] [stdout] 97 ~ } _ => { [INFO] [stdout] 98 | Ok(Vec::new()) [INFO] [stdout] 99 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/http_body.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | } else if let Some(len) = self.session.body_mut(h.into())?.len() { [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/component/http_body.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | } 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] 116 ~ } else { match self.session.body_mut(h.into())?.len() { Some(len) => { [INFO] [stdout] 117 | Ok(len) [INFO] [stdout] 118 ~ } _ => { [INFO] [stdout] 119 | Err(Error::ValueAbsent.into()) [INFO] [stdout] 120 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/http_body.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(value) = trailers.get(&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/component/http_body.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | } 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] 207 ~ match trailers.get(&name) { Some(value) => { [INFO] [stdout] 208 | value [INFO] [stdout] 209 ~ } _ => { [INFO] [stdout] 210 | return Ok(None); [INFO] [stdout] 211 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/downstream.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | let http_host = if let Some(host_header) = metadata.headers.get(http::header::HOST) { [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/downstream.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | } 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] 16 ~ let http_host = match metadata.headers.get(http::header::HOST) { Some(host_header) => { [INFO] [stdout] 17 | std::str::from_utf8(host_header.as_bytes()) [INFO] [stdout] 18 | .map_err(|_| DownstreamRequestError::InvalidHost)? [INFO] [stdout] 19 ~ } _ => { [INFO] [stdout] 20 | uri_parts [INFO] [stdout] ... [INFO] [stdout] 24 | .host() [INFO] [stdout] 25 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:570:28 [INFO] [stdout] | [INFO] [stdout] 570 | if let Some(exit) = e.downcast_ref::() { [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/execute.rs:577:25 [INFO] [stdout] | [INFO] [stdout] 577 | } 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] 570 ~ match e.downcast_ref::() { Some(exit) => { [INFO] [stdout] 571 | if exit.0 == 0 { [INFO] [stdout] ... [INFO] [stdout] 576 | } [INFO] [stdout] 577 ~ } _ => { [INFO] [stdout] 578 | event!(Level::ERROR, "WebAssembly trapped: {:?}", e); [INFO] [stdout] 579 | Err(ExecutionError::WasmTrap(e)) [INFO] [stdout] 580 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:685:8 [INFO] [stdout] | [INFO] [stdout] 685 | if let (Some(profile), Some(path)) = [INFO] [stdout] | ________^ [INFO] [stdout] 686 | | (store.data_mut().take_guest_profiler(), guest_profile_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/execute.rs:704:5 [INFO] [stdout] | [INFO] [stdout] 704 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 685 ~ match (store.data_mut().take_guest_profiler(), guest_profile_path) [INFO] [stdout] 686 ~ { (Some(profile), Some(path)) => { [INFO] [stdout] 687 | if let Err(e) = std::fs::File::create(path) [INFO] [stdout] ... [INFO] [stdout] 702 | } [INFO] [stdout] 703 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:688:12 [INFO] [stdout] | [INFO] [stdout] 688 | if let Err(e) = std::fs::File::create(path) [INFO] [stdout] | ____________^ - [INFO] [stdout] | |_________________________| [INFO] [stdout] 689 | || .map_err(anyhow::Error::new) [INFO] [stdout] 690 | || .and_then(|output| profile.finish(std::io::BufWriter::new(output))) [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] | [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/execute.rs:697:9 [INFO] [stdout] | [INFO] [stdout] 697 | } 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] 688 ~ match std::fs::File::create(path) [INFO] [stdout] 689 | .map_err(anyhow::Error::new) [INFO] [stdout] 690 | .and_then(|output| profile.finish(std::io::BufWriter::new(output))) [INFO] [stdout] 691 ~ { Err(e) => { [INFO] [stdout] 692 | event!( [INFO] [stdout] ... [INFO] [stdout] 696 | ); [INFO] [stdout] 697 ~ } _ => { [INFO] [stdout] 698 | event!( [INFO] [stdout] ... [INFO] [stdout] 702 | ); [INFO] [stdout] 703 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:709:12 [INFO] [stdout] | [INFO] [stdout] 709 | if let Some(arc) = self.epoch_increment_thread.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/execute.rs:714:9 [INFO] [stdout] | [INFO] [stdout] 714 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 709 ~ match self.epoch_increment_thread.take() { Some(arc) => { [INFO] [stdout] 710 | if let Ok(join_handle) = Arc::try_unwrap(arc) { [INFO] [stdout] ... [INFO] [stdout] 713 | } [INFO] [stdout] 714 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:710:16 [INFO] [stdout] | [INFO] [stdout] 710 | if let Ok(join_handle) = Arc::try_unwrap(arc) { [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/execute.rs:713:13 [INFO] [stdout] | [INFO] [stdout] 713 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 710 ~ match Arc::try_unwrap(arc) { Ok(join_handle) => { [INFO] [stdout] 711 | self.epoch_increment_stop.store(true, Ordering::Relaxed); [INFO] [stdout] 712 | join_handle.join().unwrap(); [INFO] [stdout] 713 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/upstream.rs:52:24 [INFO] [stdout] | [INFO] [stdout] 52 | if let Err(e) = roots.add(&rustls::Certificate(cert.0)) { [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/upstream.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 54 | } [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 ~ match roots.add(&rustls::Certificate(cert.0)) { Err(e) => { [INFO] [stdout] 53 | warn!("failed to load certificate: {e}"); [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/upstream.rs:165:37 [INFO] [stdout] | [INFO] [stdout] 165 | let mut config = if let Some(certed_key) = &backend.client_cert { [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/upstream.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | } 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] 165 ~ let mut config = match &backend.client_cert { Some(certed_key) => { [INFO] [stdout] 166 | config.with_client_auth_cert(certed_key.certs(), certed_key.key())? [INFO] [stdout] 167 ~ } _ => { [INFO] [stdout] 168 | config.with_no_client_auth() [INFO] [stdout] 169 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Future, error::Error>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/upstream.rs:285:6 [INFO] [stdout] | [INFO] [stdout] 285 | ) -> impl Future, Error>> { [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/upstream.rs:283:14 [INFO] [stdout] | [INFO] [stdout] 283 | backend: &Arc, [INFO] [stdout] | ^ [INFO] [stdout] 284 | tls_config: &TlsConfig, [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] 285 | ) -> impl Future, Error>> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wiggle_abi/body_impl.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if let Some(chunk) = body.data().await { [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/wiggle_abi/body_impl.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | } 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] 65 ~ match body.data().await { Some(chunk) => { [INFO] [stdout] 66 | // pass up any error encountered when reading a chunk [INFO] [stdout] ... [INFO] [stdout] 78 | Ok(chunk.len() as u32) [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | Ok(0) [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `viceroy_lib` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/wiggle_abi.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/wiggle_abi.rs:39:22 [INFO] [stderr] | [INFO] [stderr] 39 | ( $memory:ident, $expr:expr_2021, $ending_cursor_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/wiggle_abi.rs:39:39 [INFO] [stderr] | [INFO] [stderr] 39 | ( $memory:ident, $expr:expr_2021, $ending_cursor_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 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] --> src/wiggle_abi.rs:39:28 [INFO] [stdout] | [INFO] [stdout] 39 | ( $memory:ident, $expr:expr, $ending_cursor_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] = 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] 39 | ( $memory:ident, $expr:expr_2021, $ending_cursor_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/wiggle_abi.rs:39:53 [INFO] [stdout] | [INFO] [stdout] 39 | ( $memory:ident, $expr:expr, $ending_cursor_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] 39 | ( $memory:ident, $expr:expr, $ending_cursor_out:expr_2021 ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/adapt.rs:88:20 [INFO] [stdout] | [INFO] [stdout] 88 | if let Some((id, range)) = payload.as_section() { [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/adapt.rs:93:17 [INFO] [stdout] | [INFO] [stdout] 93 | } [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] 88 ~ match payload.as_section() { Some((id, range)) => { [INFO] [stdout] 89 | module.section(&wasm_encoder::RawSection { [INFO] [stdout] ... [INFO] [stdout] 92 | }); [INFO] [stdout] 93 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/body.rs:124:15 [INFO] [stdout] | [INFO] [stdout] 124 | while let Some(chunk) = body.data().await.transpose()? { [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/body.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/body.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 142 | if let Some(Ok(chunk)) = self.data().await { [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/body.rs:146:9 [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] 142 ~ match self.data().await { Some(Ok(chunk)) => { [INFO] [stdout] 143 | // If we did get a chunk, put it back; subsequent read attempts will find this chunk without [INFO] [stdout] 144 | // additional blocking. [INFO] [stdout] 145 | self.chunks.push_front(chunk.into()) [INFO] [stdout] 146 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/body.rs:194:15 [INFO] [stdout] | [INFO] [stdout] 194 | while let Some(mut chunk) = self.chunks.pop_front() { [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/body.rs:302:9 [INFO] [stdout] | [INFO] [stdout] 302 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session.rs:360:12 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some(Some(body)) = self.async_items.get(handle.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/session.rs:362:9 [INFO] [stdout] | [INFO] [stdout] 362 | } 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] 360 ~ match self.async_items.get(handle.into()) { Some(Some(body)) => { [INFO] [stdout] 361 | body.is_streaming() [INFO] [stdout] 362 ~ } _ => { [INFO] [stdout] 363 | false [INFO] [stdout] 364 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session.rs:643:12 [INFO] [stdout] | [INFO] [stdout] 643 | if let Some(dict) = self.dictionaries.get(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/session.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 646 | } 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] 643 ~ match self.dictionaries.get(name) { Some(dict) => { [INFO] [stdout] 644 | let loaded = dict.load().map_err(|err| Error::Other(err.into()))?; [INFO] [stdout] 645 | Ok(self.loaded_dictionaries.push(loaded)) [INFO] [stdout] 646 ~ } _ => { [INFO] [stdout] 647 | Err(Error::DictionaryError( [INFO] [stdout] 648 | crate::wiggle_abi::DictionaryError::UnknownDictionary(name.to_owned()), [INFO] [stdout] 649 | )) [INFO] [stdout] 650 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session.rs:976:16 [INFO] [stdout] | [INFO] [stdout] 976 | if let Ok(item) = self.take_async_item(handle) { [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/session.rs:978:13 [INFO] [stdout] | [INFO] [stdout] 978 | } 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] 976 ~ match self.take_async_item(handle) { Ok(item) => { [INFO] [stdout] 977 | targets.push(SelectTarget { handle, item }); [INFO] [stdout] 978 ~ } _ => { [INFO] [stdout] 979 | self.reinsert_select_targets(targets); [INFO] [stdout] 980 | return Err(HandleError::InvalidPendingRequestHandle(handle.into())); [INFO] [stdout] 981 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/async_item.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 102 | if let Self::Body(mut body) = std::mem::replace(self, Self::StreamingBody(streaming)) { [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/session/async_item.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | } 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] 102 ~ match std::mem::replace(self, Self::StreamingBody(streaming)) { Self::Body(mut body) => { [INFO] [stdout] 103 | body.push_back(receiver); [INFO] [stdout] 104 | Some(body) [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | unreachable!("!self.is_streaming, but was actually streaming"); [INFO] [stdout] 107 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/async_item.rs:233:16 [INFO] [stdout] | [INFO] [stdout] 233 | if let Ok(v) = rx.await { [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/session/async_item.rs:235:13 [INFO] [stdout] | [INFO] [stdout] 235 | } 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] 233 ~ match rx.await { Ok(v) => { [INFO] [stdout] 234 | *self = PeekableTask::Complete(v) [INFO] [stdout] 235 ~ } _ => { [INFO] [stdout] 236 | // todo, not the correct error type [INFO] [stdout] ... [INFO] [stdout] 240 | .into())); [INFO] [stdout] 241 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/backend.rs:62:12 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(host) = backend.override_host.as_ref() { [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/component/backend.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | } 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] 62 ~ match backend.override_host.as_ref() { Some(host) => { [INFO] [stdout] 63 | let host = host.to_str()?; [INFO] [stdout] ... [INFO] [stdout] 73 | Ok(Some(host.as_bytes().to_owned())) [INFO] [stdout] 74 ~ } _ => { [INFO] [stdout] 75 | Ok(None) [INFO] [stdout] 76 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/device_detection.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | if let Some(result) = self.session.device_detection_lookup(&user_agent) { [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/component/device_detection.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | } 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] 13 ~ match self.session.device_detection_lookup(&user_agent) { Some(result) => { [INFO] [stdout] 14 | if result.len() > max_len as usize { [INFO] [stdout] ... [INFO] [stdout] 20 | Ok(Some(result.into_bytes())) [INFO] [stdout] 21 ~ } _ => { [INFO] [stdout] 22 | Ok(None) [INFO] [stdout] 23 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/http_body.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | if let Some(chunk) = body.data().await { [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/component/http_body.rs:97:9 [INFO] [stdout] | [INFO] [stdout] 97 | } 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] 84 ~ match body.data().await { Some(chunk) => { [INFO] [stdout] 85 | // pass up any error encountered when reading a chunk [INFO] [stdout] ... [INFO] [stdout] 96 | Ok(chunk) [INFO] [stdout] 97 ~ } _ => { [INFO] [stdout] 98 | Ok(Vec::new()) [INFO] [stdout] 99 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/http_body.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 116 | } else if let Some(len) = self.session.body_mut(h.into())?.len() { [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/component/http_body.rs:118:9 [INFO] [stdout] | [INFO] [stdout] 118 | } 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] 116 ~ } else { match self.session.body_mut(h.into())?.len() { Some(len) => { [INFO] [stdout] 117 | Ok(len) [INFO] [stdout] 118 ~ } _ => { [INFO] [stdout] 119 | Err(Error::ValueAbsent.into()) [INFO] [stdout] 120 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/component/http_body.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(value) = trailers.get(&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/component/http_body.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | } 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] 207 ~ match trailers.get(&name) { Some(value) => { [INFO] [stdout] 208 | value [INFO] [stdout] 209 ~ } _ => { [INFO] [stdout] 210 | return Ok(None); [INFO] [stdout] 211 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/downstream.rs:16:24 [INFO] [stdout] | [INFO] [stdout] 16 | let http_host = if let Some(host_header) = metadata.headers.get(http::header::HOST) { [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/downstream.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 19 | } 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] 16 ~ let http_host = match metadata.headers.get(http::header::HOST) { Some(host_header) => { [INFO] [stdout] 17 | std::str::from_utf8(host_header.as_bytes()) [INFO] [stdout] 18 | .map_err(|_| DownstreamRequestError::InvalidHost)? [INFO] [stdout] 19 ~ } _ => { [INFO] [stdout] 20 | uri_parts [INFO] [stdout] ... [INFO] [stdout] 24 | .host() [INFO] [stdout] 25 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:570:28 [INFO] [stdout] | [INFO] [stdout] 570 | if let Some(exit) = e.downcast_ref::() { [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/execute.rs:577:25 [INFO] [stdout] | [INFO] [stdout] 577 | } 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] 570 ~ match e.downcast_ref::() { Some(exit) => { [INFO] [stdout] 571 | if exit.0 == 0 { [INFO] [stdout] ... [INFO] [stdout] 576 | } [INFO] [stdout] 577 ~ } _ => { [INFO] [stdout] 578 | event!(Level::ERROR, "WebAssembly trapped: {:?}", e); [INFO] [stdout] 579 | Err(ExecutionError::WasmTrap(e)) [INFO] [stdout] 580 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:685:8 [INFO] [stdout] | [INFO] [stdout] 685 | if let (Some(profile), Some(path)) = [INFO] [stdout] | ________^ [INFO] [stdout] 686 | | (store.data_mut().take_guest_profiler(), guest_profile_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/execute.rs:704:5 [INFO] [stdout] | [INFO] [stdout] 704 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 685 ~ match (store.data_mut().take_guest_profiler(), guest_profile_path) [INFO] [stdout] 686 ~ { (Some(profile), Some(path)) => { [INFO] [stdout] 687 | if let Err(e) = std::fs::File::create(path) [INFO] [stdout] ... [INFO] [stdout] 702 | } [INFO] [stdout] 703 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:688:12 [INFO] [stdout] | [INFO] [stdout] 688 | if let Err(e) = std::fs::File::create(path) [INFO] [stdout] | ____________^ - [INFO] [stdout] | |_________________________| [INFO] [stdout] 689 | || .map_err(anyhow::Error::new) [INFO] [stdout] 690 | || .and_then(|output| profile.finish(std::io::BufWriter::new(output))) [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] | [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/execute.rs:697:9 [INFO] [stdout] | [INFO] [stdout] 697 | } 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] 688 ~ match std::fs::File::create(path) [INFO] [stdout] 689 | .map_err(anyhow::Error::new) [INFO] [stdout] 690 | .and_then(|output| profile.finish(std::io::BufWriter::new(output))) [INFO] [stdout] 691 ~ { Err(e) => { [INFO] [stdout] 692 | event!( [INFO] [stdout] ... [INFO] [stdout] 696 | ); [INFO] [stdout] 697 ~ } _ => { [INFO] [stdout] 698 | event!( [INFO] [stdout] ... [INFO] [stdout] 702 | ); [INFO] [stdout] 703 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:709:12 [INFO] [stdout] | [INFO] [stdout] 709 | if let Some(arc) = self.epoch_increment_thread.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/execute.rs:714:9 [INFO] [stdout] | [INFO] [stdout] 714 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 709 ~ match self.epoch_increment_thread.take() { Some(arc) => { [INFO] [stdout] 710 | if let Ok(join_handle) = Arc::try_unwrap(arc) { [INFO] [stdout] ... [INFO] [stdout] 713 | } [INFO] [stdout] 714 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/execute.rs:710:16 [INFO] [stdout] | [INFO] [stdout] 710 | if let Ok(join_handle) = Arc::try_unwrap(arc) { [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/execute.rs:713:13 [INFO] [stdout] | [INFO] [stdout] 713 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 710 ~ match Arc::try_unwrap(arc) { Ok(join_handle) => { [INFO] [stdout] 711 | self.epoch_increment_stop.store(true, Ordering::Relaxed); [INFO] [stdout] 712 | join_handle.join().unwrap(); [INFO] [stdout] 713 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/upstream.rs:52:24 [INFO] [stdout] | [INFO] [stdout] 52 | if let Err(e) = roots.add(&rustls::Certificate(cert.0)) { [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/upstream.rs:54:21 [INFO] [stdout] | [INFO] [stdout] 54 | } [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 ~ match roots.add(&rustls::Certificate(cert.0)) { Err(e) => { [INFO] [stdout] 53 | warn!("failed to load certificate: {e}"); [INFO] [stdout] 54 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/upstream.rs:165:37 [INFO] [stdout] | [INFO] [stdout] 165 | let mut config = if let Some(certed_key) = &backend.client_cert { [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/upstream.rs:167:17 [INFO] [stdout] | [INFO] [stdout] 167 | } 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] 165 ~ let mut config = match &backend.client_cert { Some(certed_key) => { [INFO] [stdout] 166 | config.with_client_auth_cert(certed_key.certs(), certed_key.key())? [INFO] [stdout] 167 ~ } _ => { [INFO] [stdout] 168 | config.with_no_client_auth() [INFO] [stdout] 169 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl futures::Future, error::Error>>` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/upstream.rs:285:6 [INFO] [stdout] | [INFO] [stdout] 285 | ) -> impl Future, Error>> { [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/upstream.rs:283:14 [INFO] [stdout] | [INFO] [stdout] 283 | backend: &Arc, [INFO] [stdout] | ^ [INFO] [stdout] 284 | tls_config: &TlsConfig, [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] 285 | ) -> impl Future, Error>> + use<> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/wiggle_abi/body_impl.rs:65:12 [INFO] [stdout] | [INFO] [stdout] 65 | if let Some(chunk) = body.data().await { [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/wiggle_abi/body_impl.rs:79:9 [INFO] [stdout] | [INFO] [stdout] 79 | } 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] 65 ~ match body.data().await { Some(chunk) => { [INFO] [stdout] 66 | // pass up any error encountered when reading a chunk [INFO] [stdout] ... [INFO] [stdout] 78 | Ok(chunk.len() as u32) [INFO] [stdout] 79 ~ } _ => { [INFO] [stdout] 80 | Ok(0) [INFO] [stdout] 81 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 26 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking viceroy-lib v0.12.0 (/tmp/fixit) [INFO] [stdout] error[E0502]: cannot borrow `__self.session` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/component/http_req.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 430 | let backend = self [INFO] [stdout] | _______________________- [INFO] [stdout] | |_______________________| [INFO] [stdout] 431 | || .session [INFO] [stdout] | ||____________________- immutable borrow occurs here [INFO] [stdout] 432 | | .backend(&backend_name) [INFO] [stdout] | |____________________________________- argument requires that `__self.session` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 444 | Ok(self.session.insert_pending_request(task).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/component/http_req.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 421 | &mut self, [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | lifetime `'life0` defined here [INFO] [stdout] ... [INFO] [stdout] 439 | self.session.tls_config(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'life0` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `__self.session` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/component/http_req.rs:471:12 [INFO] [stdout] | [INFO] [stdout] 457 | let backend = self [INFO] [stdout] | _______________________- [INFO] [stdout] | |_______________________| [INFO] [stdout] 458 | || .session [INFO] [stdout] | ||____________________- immutable borrow occurs here [INFO] [stdout] 459 | | .backend(&backend_name) [INFO] [stdout] | |____________________________________- argument requires that `__self.session` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 471 | Ok(self.session.insert_pending_request(task).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/component/http_req.rs:466:13 [INFO] [stdout] | [INFO] [stdout] 448 | &mut self, [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | lifetime `'life0` defined here [INFO] [stdout] ... [INFO] [stdout] 466 | self.session.tls_config(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'life0` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `__self.session` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/component/http_req.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 430 | let backend = self [INFO] [stdout] | _______________________- [INFO] [stdout] | |_______________________| [INFO] [stdout] 431 | || .session [INFO] [stdout] | ||____________________- immutable borrow occurs here [INFO] [stdout] 432 | | .backend(&backend_name) [INFO] [stdout] | |____________________________________- argument requires that `__self.session` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 444 | Ok(self.session.insert_pending_request(task).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/component/http_req.rs:439:13 [INFO] [stdout] | [INFO] [stdout] 421 | &mut self, [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | lifetime `'life0` defined here [INFO] [stdout] ... [INFO] [stdout] 439 | self.session.tls_config(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'life0` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `__self.session` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/component/http_req.rs:471:12 [INFO] [stdout] | [INFO] [stdout] 457 | let backend = self [INFO] [stdout] | _______________________- [INFO] [stdout] | |_______________________| [INFO] [stdout] 458 | || .session [INFO] [stdout] | ||____________________- immutable borrow occurs here [INFO] [stdout] 459 | | .backend(&backend_name) [INFO] [stdout] | |____________________________________- argument requires that `__self.session` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 471 | Ok(self.session.insert_pending_request(task).into()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/component/http_req.rs:466:13 [INFO] [stdout] | [INFO] [stdout] 448 | &mut self, [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | lifetime `'life0` defined here [INFO] [stdout] ... [INFO] [stdout] 466 | self.session.tls_config(), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'life0` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*__self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/wiggle_abi/req_impl.rs:824:12 [INFO] [stdout] | [INFO] [stdout] 815 | let backend = self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | _______________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 816 | | .backend(backend_name) [INFO] [stdout] | |__________________________________- argument requires that `*__self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 824 | Ok(self.insert_pending_request(task)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/wiggle_abi/req_impl.rs:821:70 [INFO] [stdout] | [INFO] [stdout] 800 | &mut self, [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | lifetime `'life0` defined here [INFO] [stdout] ... [INFO] [stdout] 821 | PeekableTask::spawn(upstream::send_request(req, backend, self.tls_config())).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'life0` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*__self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/wiggle_abi/req_impl.rs:852:12 [INFO] [stdout] | [INFO] [stdout] 843 | let backend = self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | _______________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 844 | | .backend(backend_name) [INFO] [stdout] | |__________________________________- argument requires that `*__self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 852 | Ok(self.insert_pending_request(task)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/wiggle_abi/req_impl.rs:849:70 [INFO] [stdout] | [INFO] [stdout] 828 | &mut self, [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | lifetime `'life0` defined here [INFO] [stdout] ... [INFO] [stdout] 849 | PeekableTask::spawn(upstream::send_request(req, backend, self.tls_config())).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'life0` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*__self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/wiggle_abi/req_impl.rs:824:12 [INFO] [stdout] | [INFO] [stdout] 815 | let backend = self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | _______________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 816 | | .backend(backend_name) [INFO] [stdout] | |__________________________________- argument requires that `*__self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 824 | Ok(self.insert_pending_request(task)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/wiggle_abi/req_impl.rs:821:70 [INFO] [stdout] | [INFO] [stdout] 800 | &mut self, [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | lifetime `'life0` defined here [INFO] [stdout] ... [INFO] [stdout] 821 | PeekableTask::spawn(upstream::send_request(req, backend, self.tls_config())).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'life0` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `*__self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/wiggle_abi/req_impl.rs:852:12 [INFO] [stdout] | [INFO] [stdout] 843 | let backend = self [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | _______________________immutable borrow occurs here [INFO] [stdout] | | [INFO] [stdout] 844 | | .backend(backend_name) [INFO] [stdout] | |__________________________________- argument requires that `*__self` is borrowed for `'static` [INFO] [stdout] ... [INFO] [stdout] 852 | Ok(self.insert_pending_request(task)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0521]: borrowed data escapes outside of method [INFO] [stdout] --> src/wiggle_abi/req_impl.rs:849:70 [INFO] [stdout] | [INFO] [stdout] 828 | &mut self, [INFO] [stdout] | --------- [INFO] [stdout] | | [INFO] [stdout] | `self` is a reference that is only valid in the method body [INFO] [stdout] | lifetime `'life0` defined here [INFO] [stdout] ... [INFO] [stdout] 849 | PeekableTask::spawn(upstream::send_request(req, backend, self.tls_config())).await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self` escapes the method body here [INFO] [stdout] | argument requires that `'life0` must outlive `'static` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0521. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `viceroy-lib` (lib test) due to 9 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 8 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0502, E0521. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0502`. [INFO] [stdout] [INFO] [stderr] error: could not compile `viceroy-lib` (lib) due to 9 previous errors [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" "01d1b4ed8e750133a8cfa9e668dee3ff9f174fb6d0306b15a88a4ead14699ed1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "01d1b4ed8e750133a8cfa9e668dee3ff9f174fb6d0306b15a88a4ead14699ed1", kill_on_drop: false }` [INFO] [stdout] 01d1b4ed8e750133a8cfa9e668dee3ff9f174fb6d0306b15a88a4ead14699ed1