[INFO] fetching crate tor-proto 0.22.0... [INFO] checking tor-proto-0.22.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate tor-proto 0.22.0 into /workspace/builds/worker-3-tc2/source [INFO] validating manifest of crates.io crate tor-proto 0.22.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 tor-proto 0.22.0 [INFO] finished tweaking crates.io crate tor-proto 0.22.0 [INFO] tweaked toml for crates.io crate tor-proto 0.22.0 written to /workspace/builds/worker-3-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 367 packages to latest compatible versions [INFO] [stderr] Adding async-channel v1.9.0 (available: v2.3.1) [INFO] [stderr] Adding atomic v0.5.3 (available: v0.6.0) [INFO] [stderr] Adding bitflags v1.3.2 (available: v2.6.0) [INFO] [stderr] Adding blanket v0.3.0 (available: v0.4.0) [INFO] [stderr] Adding convert_case v0.4.0 (available: v0.6.0) [INFO] [stderr] Adding core-foundation v0.9.4 (available: v0.10.0) [INFO] [stderr] Adding darling v0.14.4 (available: v0.20.10) [INFO] [stderr] Adding darling_core v0.14.4 (available: v0.20.10) [INFO] [stderr] Adding darling_macro v0.14.4 (available: v0.20.10) [INFO] [stderr] Adding derive-adhoc v0.7.3 (available: v0.8.4) [INFO] [stderr] Adding derive-adhoc-macros v0.7.3 (available: v0.8.4) [INFO] [stderr] Adding derive_more v0.99.18 (available: v1.0.0) [INFO] [stderr] Adding educe v0.4.23 (available: v0.6.0) [INFO] [stderr] Adding enum-ordinalize v3.1.15 (available: v4.3.0) [INFO] [stderr] Adding event-listener v2.5.3 (available: v5.3.1) [INFO] [stderr] Adding foreign-types v0.3.2 (available: v0.5.0) [INFO] [stderr] Adding foreign-types-shared v0.1.1 (available: v0.3.1) [INFO] [stderr] Adding generic-array v0.14.7 (available: v1.1.0) [INFO] [stderr] Adding hashbrown v0.12.3 (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 idna v0.5.0 (available: v1.0.2) [INFO] [stderr] Adding indexmap v1.9.3 (available: v2.5.0) [INFO] [stderr] Adding inotify v0.9.6 (available: v0.11.0) [INFO] [stderr] Adding itertools v0.11.0 (available: v0.13.0) [INFO] [stderr] Adding linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding matchers v0.1.0 (available: v0.2.0) [INFO] [stderr] Adding mio v0.8.11 (available: v1.0.2) [INFO] [stderr] Adding nalgebra v0.32.6 (available: v0.33.0) [INFO] [stderr] Adding nu-ansi-term v0.46.0 (available: v0.50.1) [INFO] [stderr] Adding ordered-float v2.10.1 (available: v4.3.0) [INFO] [stderr] Adding proc-macro-crate v1.3.1 (available: v3.2.0) [INFO] [stderr] Adding radium v0.7.0 (available: v1.1.0) [INFO] [stderr] Adding regex-automata v0.1.10 (available: v0.4.7) [INFO] [stderr] Adding regex-syntax v0.6.29 (available: v0.8.4) [INFO] [stderr] Adding security-framework v2.11.1 (available: v3.0.0) [INFO] [stderr] Adding simba v0.8.1 (available: v0.9.0) [INFO] [stderr] Adding strsim v0.10.0 (available: v0.11.1) [INFO] [stderr] Adding strum v0.25.0 (available: v0.26.3) [INFO] [stderr] Adding strum_macros v0.25.3 (available: v0.26.4) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding toml_edit v0.19.15 (available: v0.22.22) [INFO] [stderr] Adding wasi v0.11.0+wasi-snapshot-preview1 (available: v0.13.2+wasi-0.2.1) [INFO] [stderr] Adding windows-core v0.52.0 (available: v0.58.0) [INFO] [stderr] Adding windows-sys v0.48.0 (available: v0.59.0) [INFO] [stderr] Adding windows-sys v0.52.0 (available: v0.59.0) [INFO] [stderr] Adding windows-targets v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_aarch64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_i686_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnu v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_gnullvm v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding windows_x86_64_msvc v0.48.5 (available: v0.52.6) [INFO] [stderr] Adding winnow v0.5.40 (available: v0.6.20) [INFO] [stderr] Adding wyz v0.5.1 (available: v0.6.1) [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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 4bcca568b89a98790799b904ccebd5f7fb9a9c2561d192fdef35da1c25cefc11 [INFO] running `Command { std: "docker" "start" "-a" "4bcca568b89a98790799b904ccebd5f7fb9a9c2561d192fdef35da1c25cefc11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4bcca568b89a98790799b904ccebd5f7fb9a9c2561d192fdef35da1c25cefc11", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4bcca568b89a98790799b904ccebd5f7fb9a9c2561d192fdef35da1c25cefc11", kill_on_drop: false }` [INFO] [stdout] 4bcca568b89a98790799b904ccebd5f7fb9a9c2561d192fdef35da1c25cefc11 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] e72501e487e7c0a6a24c1e3c9fda9d5aecbc2f5b70e8f175e81ce0c1c21f5d3b [INFO] running `Command { std: "docker" "start" "-a" "e72501e487e7c0a6a24c1e3c9fda9d5aecbc2f5b70e8f175e81ce0c1c21f5d3b", 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] Fixed Cargo.toml (4 fixes) [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking const-oid v0.9.6 [INFO] [stderr] Compiling thiserror-impl v1.0.64 [INFO] [stderr] Compiling zeroize_derive v1.4.2 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking serde v1.0.210 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling openssl-sys v0.9.103 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Compiling num-integer v0.1.46 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Compiling either v1.13.0 [INFO] [stderr] Checking thiserror v1.0.64 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling num-bigint v0.4.6 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling keccak v0.1.5 [INFO] [stderr] Checking der v0.7.9 [INFO] [stderr] Compiling curve25519-dalek v4.1.3 [INFO] [stderr] Compiling sha3 v0.10.8 [INFO] [stderr] Compiling openssl v0.10.66 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking signature v2.2.0 [INFO] [stderr] Compiling curve25519-dalek-derive v0.1.1 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking inout v0.1.3 [INFO] [stderr] Checking spki v0.7.3 [INFO] [stderr] Compiling num-bigint-dig v0.8.4 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking retry-error v0.5.4 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling winnow v0.5.40 [INFO] [stderr] Compiling time-macros v0.2.18 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking pkcs8 v0.10.2 [INFO] [stderr] Checking tor-error v0.22.0 [INFO] [stderr] Compiling enum-ordinalize v3.1.15 [INFO] [stderr] Compiling strum_macros v0.25.3 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking indexmap v2.5.0 [INFO] [stderr] Compiling educe v0.4.23 [INFO] [stderr] Checking cipher v0.4.4 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Compiling async_executors v0.7.0 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling derive-adhoc-macros v0.7.3 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Compiling toml_edit v0.19.15 [INFO] [stderr] Compiling strum v0.25.0 [INFO] [stderr] Checking pkcs1 v0.7.5 [INFO] [stderr] Checking merlin v3.0.0 [INFO] [stderr] Checking ed25519 v2.2.3 [INFO] [stderr] Compiling itertools v0.11.0 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling blanket v0.3.0 [INFO] [stderr] Checking fluid-let v1.0.0 [INFO] [stderr] Compiling derive-deftly-macros v0.14.2 [INFO] [stderr] Checking safelog v0.3.8 [INFO] [stderr] Checking ed25519-dalek v2.1.1 [INFO] [stderr] Checking async-native-tls v0.5.0 [INFO] [stderr] Checking rsa v0.9.6 [INFO] [stderr] Compiling proc-macro-crate v1.3.1 [INFO] [stderr] Compiling derive_builder_core_fork_arti v0.11.2 [INFO] [stderr] Checking x25519-dalek v2.0.1 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking aes v0.8.4 [INFO] [stderr] Checking simple_asn1 v0.6.2 [INFO] [stderr] Checking ctr v0.9.2 [INFO] [stderr] Checking toml_datetime v0.6.8 [INFO] [stderr] Checking serde_spanned v0.6.8 [INFO] [stderr] Compiling itertools v0.13.0 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling amplify_syn v2.0.1 [INFO] [stderr] Compiling visibility v0.1.1 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Checking coarsetime v0.1.34 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Checking winnow v0.6.20 [INFO] [stderr] Checking heck v0.4.1 [INFO] [stderr] Compiling derive_builder_macro_fork_arti v0.11.2 [INFO] [stderr] Checking tor-llcrypto v0.22.0 [INFO] [stderr] Checking crossbeam-queue v0.3.11 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking inotify-sys v0.1.5 [INFO] [stderr] Compiling figment v0.10.19 [INFO] [stderr] Checking regex-syntax v0.6.29 [INFO] [stderr] Compiling amplify_derive v4.0.1 [INFO] [stderr] Checking ascii v1.1.0 [INFO] [stderr] Checking tor-rtcompat v0.22.0 [INFO] [stderr] Checking amplify_num v0.5.3 [INFO] [stderr] Checking heck v0.5.0 [INFO] [stderr] Checking atomic v0.5.3 [INFO] [stderr] Checking inotify v0.9.6 [INFO] [stderr] Checking toml_edit v0.22.22 [INFO] [stderr] Checking postage v0.5.0 [INFO] [stderr] Checking derive_builder_fork_arti v0.11.2 [INFO] [stderr] Checking ordered-float v2.10.1 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking filetime v0.2.25 [INFO] [stderr] Checking regex-automata v0.1.10 [INFO] [stderr] Checking caret v0.4.7 [INFO] [stderr] Checking bytemuck v1.18.0 [INFO] [stderr] Checking serde-value v0.7.0 [INFO] [stderr] Checking notify v6.1.1 [INFO] [stderr] Checking safe_arch v0.7.2 [INFO] [stderr] Checking tor-basic-utils v0.22.0 [INFO] [stderr] Checking shellexpand v3.1.0 [INFO] [stderr] Checking amplify v4.7.0 [INFO] [stderr] Checking tor-bytes v0.22.0 [INFO] [stderr] Checking directories v5.0.1 [INFO] [stderr] Checking matchers v0.1.0 [INFO] [stderr] Checking serde_ignored v0.1.10 [INFO] [stderr] Checking sharded-slab v0.1.7 [INFO] [stderr] Checking tracing-log v0.2.0 [INFO] [stderr] Compiling slotmap v1.0.7 [INFO] [stderr] Compiling matrixmultiply v0.3.9 [INFO] [stderr] Checking wide v0.7.28 [INFO] [stderr] Checking derive-adhoc v0.7.3 [INFO] [stderr] Checking serde_with v3.9.0 [INFO] [stderr] Checking pwd-grp v0.1.1 [INFO] [stderr] Checking tor-protover v0.22.0 [INFO] [stderr] Checking tor-checkable v0.22.0 [INFO] [stderr] Checking oneshot-fused-workaround v0.1.0 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking toml v0.8.19 [INFO] [stderr] Checking fs-mistrust v0.7.13 [INFO] [stderr] Compiling tracing-test-macro v0.2.5 [INFO] [stderr] Checking tracing-subscriber v0.3.18 [INFO] [stderr] Checking by_address v1.2.1 [INFO] [stderr] Checking rawpointer v0.2.1 [INFO] [stderr] Checking tor-cert v0.22.0 [INFO] [stderr] Checking priority-queue v2.1.1 [INFO] [stderr] Checking rand_distr v0.4.3 [INFO] [stderr] Checking tor-units v0.22.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Compiling nalgebra-macros v0.2.2 [INFO] [stderr] Checking weak-table v0.3.2 [INFO] [stderr] Checking hkdf v0.12.4 [INFO] [stderr] Checking tor-async-utils v0.22.0 [INFO] [stderr] Checking simba v0.8.1 [INFO] [stderr] Checking asynchronous-codec v0.7.0 [INFO] [stderr] Checking hex-literal v0.4.1 [INFO] [stderr] Checking tracing-test v0.2.5 [INFO] [stderr] Checking tor-log-ratelim v0.22.0 [INFO] [stderr] Checking derive-deftly v0.14.2 [INFO] [stderr] Checking tor-config v0.22.0 [INFO] [stderr] Checking tor-rtmock v0.22.0 [INFO] [stderr] Checking tor-linkspec v0.22.0 [INFO] [stderr] Checking tor-cell v0.22.0 [INFO] [stderr] Checking tor-proto v0.22.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] Checking nalgebra v0.32.6 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `tor_proto` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/circuit/path.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: ambiguous `+` in a type [INFO] [stderr] --> src/circuit/path.rs:70:45 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn as_chan_target(&self) -> Option<&impl tor_linkspec::ChanTarget + use<>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 70 | pub fn as_chan_target(&self) -> Option<&(impl tor_linkspec::ChanTarget + use<>)> { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/circuit/streammap.rs:249:46 [INFO] [stdout] | [INFO] [stdout] 249 | let next_stream_id: NonZeroU16 = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `SendNothing` is never constructed [INFO] [stdout] --> src/circuit/reactor.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub(crate) enum CloseStreamBehavior { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 128 | SendNothing, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CloseStreamBehavior` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/circuit/reactor/syncview.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> ClientCircSyncView<'a> { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub(super) fn new(reactor: &'a Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ExplicitEnd` is never constructed [INFO] [stdout] --> src/circuit/streammap.rs:491:5 [INFO] [stdout] | [INFO] [stdout] 485 | pub(super) enum TerminateReason { [INFO] [stdout] | --------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 491 | ExplicitEnd, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TerminateReason` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/crypto/binding.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CircuitBinding( [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CircuitBinding` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reply` is never used [INFO] [stdout] --> src/crypto/handshake.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub(crate) trait AuxDataReply [INFO] [stdout] | ------------ method in this trait [INFO] [stdout] ... [INFO] [stdout] 73 | fn reply(&mut self, msg: &H::ClientAuxData) -> Option; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/circmap.rs:193:16 [INFO] [stdout] | [INFO] [stdout] 193 | if let Some(CircEnt::Opening(oneshot, sink)) = self.m.remove(&id) { [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/channel/circmap.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | } else { [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] 193 ~ match self.m.remove(&id) { Some(CircEnt::Opening(oneshot, sink)) => { [INFO] [stdout] 194 | self.m.insert(id, CircEnt::Open(sink)); [INFO] [stdout] 195 | Ok(oneshot) [INFO] [stdout] 196 ~ } _ => { [INFO] [stdout] 197 | panic!("internal error: inconsistent circuit state"); [INFO] [stdout] 198 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/circmap.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 210 | if let Some(replaced) = self.m.insert(id, CircEnt::DestroySent(hs)) { [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/channel/circmap.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 210 ~ match self.m.insert(id, CircEnt::DestroySent(hs)) { Some(replaced) => { [INFO] [stdout] 211 | if !matches!(replaced, CircEnt::DestroySent(_)) { [INFO] [stdout] ... [INFO] [stdout] 214 | } [INFO] [stdout] 215 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/handshake.rs:247:15 [INFO] [stdout] | [INFO] [stdout] 247 | while let Some(m) = tls.next().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/channel/handshake.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/circuit/handshake.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use crate::crypto::handshake::KeyGenerator; [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | #![warn(unreachable_pub)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/circuit/handshake.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub enum HandshakeRole { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl ChanTarget` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/circuit/path.rs:70:45 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_chan_target(&self) -> Option<&impl tor_linkspec::ChanTarget> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/circuit/path.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_chan_target(&self) -> Option<&impl tor_linkspec::ChanTarget> { [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] 70 | pub fn as_chan_target(&self) -> Option<&impl tor_linkspec::ChanTarget + use<>> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/circuit/reactor.rs:603:12 [INFO] [stdout] | [INFO] [stdout] 603 | if let Some(done) = self.operation_finished.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/circuit/reactor.rs:607:9 [INFO] [stdout] | [INFO] [stdout] 607 | } 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] 603 ~ match self.operation_finished.take() { Some(done) => { [INFO] [stdout] 604 | // ignore it if the receiving channel went away. [INFO] [stdout] 605 | let _ = done.send(status.as_ref().map(|_| ()).map_err(Clone::clone)); [INFO] [stdout] 606 | status [INFO] [stdout] 607 ~ } _ => { [INFO] [stdout] 608 | Err(Error::from(internal!( [INFO] [stdout] 609 | "Passed two messages to an CircuitExtender!" [INFO] [stdout] 610 | ))) [INFO] [stdout] 611 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/circuit/reactor.rs:1307:12 [INFO] [stdout] | [INFO] [stdout] 1307 | if let Some(mut handler) = self.meta_handler.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/circuit/reactor.rs:1337:9 [INFO] [stdout] | [INFO] [stdout] 1337 | } 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] 1307 ~ match self.meta_handler.take() { Some(mut handler) => { [INFO] [stdout] 1308 | if handler.expected_hop() == hopnum { [INFO] [stdout] ... [INFO] [stdout] 1336 | } [INFO] [stdout] 1337 ~ } _ => { [INFO] [stdout] 1338 | // No need to call shutdown here, since this error will [INFO] [stdout] ... [INFO] [stdout] 1343 | ))) [INFO] [stdout] 1344 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/circuit/reactor.rs:1836:15 [INFO] [stdout] | [INFO] [stdout] 1836 | while let Some(msg) = msgs.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/circuit/reactor.rs:1853:9 [INFO] [stdout] | [INFO] [stdout] 1853 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator)> + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/circuit/streammap.rs:456:10 [INFO] [stdout] | [INFO] [stdout] 456 | ) -> impl Iterator)> + 'a { [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/circuit/streammap.rs:455:13 [INFO] [stdout] | [INFO] [stdout] 455 | cx: &mut std::task::Context, [INFO] [stdout] | ^ ^^^^^^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 456 | ) -> impl Iterator)> + 'a + use<'a> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stream/data.rs:420:12 [INFO] [stdout] | [INFO] [stdout] 420 | if let DataReaderState::Ready(imp) = state { [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/stream/data.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | } 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] 420 ~ match state { DataReaderState::Ready(imp) => { [INFO] [stdout] 421 | let (imp, result) = if imp.connected { [INFO] [stdout] ... [INFO] [stdout] 431 | result [INFO] [stdout] 432 ~ } _ => { [INFO] [stdout] 433 | Err(Error::from(internal!( [INFO] [stdout] ... [INFO] [stdout] 436 | ))) [INFO] [stdout] 437 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stream/data.rs:715:16 [INFO] [stdout] | [INFO] [stdout] 715 | if let Some((cell, remainder)) = Data::try_split_from(&self.buf[..self.n_pending]) { [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/stream/data.rs:721:13 [INFO] [stdout] | [INFO] [stdout] 721 | } 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] 715 ~ match Data::try_split_from(&self.buf[..self.n_pending]) { Some((cell, remainder)) => { [INFO] [stdout] 716 | // TODO: Eventually we may want a larger buffer; if we do, [INFO] [stdout] ... [INFO] [stdout] 720 | self.s.send(cell.into()).await [INFO] [stdout] 721 ~ } _ => { [INFO] [stdout] 722 | Ok(()) [INFO] [stdout] 723 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/stream_poll_set.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | if let Some((key, fut)) = self.pending_streams.remove(key) { [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/util/stream_poll_set.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | } 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] 153 ~ match self.pending_streams.remove(key) { Some((key, fut)) => { [INFO] [stdout] 154 | // Validate `priorities` invariant that keys are also present in exactly one of [INFO] [stdout] ... [INFO] [stdout] 163 | Some((key, priority, stream)) [INFO] [stdout] 164 ~ } _ => { [INFO] [stdout] 165 | let ((_priority, key), stream) = self [INFO] [stdout] ... [INFO] [stdout] 174 | Some((key, priority, stream)) [INFO] [stdout] 175 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/util/stream_poll_set.rs:256:10 [INFO] [stdout] | [INFO] [stdout] 256 | ) -> impl Iterator + 'a { [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/util/stream_poll_set.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | cx: &mut Context, [INFO] [stdout] | ^ ^^^^^^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 256 | ) -> impl Iterator + 'a + use<'a, K, P, S> { [INFO] [stdout] | ++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/stream_poll_set.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | while let Poll::Ready(Some((key, stream))) = self.pending_streams.poll_next_unpin(cx) { [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/util/stream_poll_set.rs:266:9 [INFO] [stdout] | [INFO] [stdout] 266 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking statrs v0.17.1 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/circuit/streammap.rs:249:46 [INFO] [stdout] | [INFO] [stdout] 249 | let next_stream_id: NonZeroU16 = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `tor_proto` [INFO] [stdout] warning: variant `SendNothing` is never constructed [INFO] [stdout] --> src/circuit/reactor.rs:128:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub(crate) enum CloseStreamBehavior { [INFO] [stdout] | ------------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 128 | SendNothing, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `CloseStreamBehavior` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/circuit/reactor/syncview.rs:24:19 [INFO] [stdout] | [INFO] [stdout] 21 | impl<'a> ClientCircSyncView<'a> { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 24 | pub(super) fn new(reactor: &'a Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/crypto/binding.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CircuitBinding( [INFO] [stdout] | -------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 24 | Box>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `CircuitBinding` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/circmap.rs:193:16 [INFO] [stdout] | [INFO] [stdout] 193 | if let Some(CircEnt::Opening(oneshot, sink)) = self.m.remove(&id) { [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/channel/circmap.rs:196:13 [INFO] [stdout] | [INFO] [stdout] 196 | } else { [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] 193 ~ match self.m.remove(&id) { Some(CircEnt::Opening(oneshot, sink)) => { [INFO] [stdout] 194 | self.m.insert(id, CircEnt::Open(sink)); [INFO] [stdout] 195 | Ok(oneshot) [INFO] [stdout] 196 ~ } _ => { [INFO] [stdout] 197 | panic!("internal error: inconsistent circuit state"); [INFO] [stdout] 198 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] * src/circuit/path.rs [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/circmap.rs:210:12 [INFO] [stdout] | [INFO] [stdout] 210 | if let Some(replaced) = self.m.insert(id, CircEnt::DestroySent(hs)) { [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/channel/circmap.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 215 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 210 ~ match self.m.insert(id, CircEnt::DestroySent(hs)) { Some(replaced) => { [INFO] [stdout] 211 | if !matches!(replaced, CircEnt::DestroySent(_)) { [INFO] [stdout] ... [INFO] [stdout] 214 | } [INFO] [stdout] 215 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/channel/handshake.rs:247:15 [INFO] [stdout] | [INFO] [stdout] 247 | while let Some(m) = tls.next().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/channel/handshake.rs:279:9 [INFO] [stdout] | [INFO] [stdout] 279 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] This likely indicates a bug in either rustc or cargo itself, [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/circuit/handshake.rs:29:9 [INFO] [stdout] | [INFO] [stdout] 29 | pub use crate::crypto::handshake::KeyGenerator; [INFO] [stdout] | --- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] note: the lint level is defined here [INFO] [stdout] --> src/lib.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 8 | #![warn(unreachable_pub)] [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] and we would appreciate a bug report! You're likely to see [INFO] [stdout] warning: unreachable `pub` item [INFO] [stdout] --> src/circuit/handshake.rs:76:1 [INFO] [stdout] | [INFO] [stdout] 76 | pub enum HandshakeRole { [INFO] [stdout] | ---^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: consider restricting its visibility: `pub(crate)` [INFO] [stdout] | [INFO] [stdout] = help: or consider exporting it for use by other crates [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] a number of compiler warnings after this message which cargo [INFO] [stdout] warning: `impl ChanTarget` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/circuit/path.rs:70:45 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_chan_target(&self) -> Option<&impl tor_linkspec::ChanTarget> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/circuit/path.rs:70:27 [INFO] [stdout] | [INFO] [stdout] 70 | pub fn as_chan_target(&self) -> Option<&impl tor_linkspec::ChanTarget> { [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] 70 | pub fn as_chan_target(&self) -> Option<&impl tor_linkspec::ChanTarget + use<>> { [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] attempted to fix but failed. If you could open an issue at [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/circuit/reactor.rs:603:12 [INFO] [stdout] | [INFO] [stdout] 603 | if let Some(done) = self.operation_finished.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/circuit/reactor.rs:607:9 [INFO] [stdout] | [INFO] [stdout] 607 | } 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] 603 ~ match self.operation_finished.take() { Some(done) => { [INFO] [stdout] 604 | // ignore it if the receiving channel went away. [INFO] [stdout] 605 | let _ = done.send(status.as_ref().map(|_| ()).map_err(Clone::clone)); [INFO] [stdout] 606 | status [INFO] [stdout] 607 ~ } _ => { [INFO] [stdout] 608 | Err(Error::from(internal!( [INFO] [stdout] 609 | "Passed two messages to an CircuitExtender!" [INFO] [stdout] 610 | ))) [INFO] [stdout] 611 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] https://github.com/rust-lang/rust/issues [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/circuit/reactor.rs:1307:12 [INFO] [stdout] | [INFO] [stdout] 1307 | if let Some(mut handler) = self.meta_handler.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/circuit/reactor.rs:1337:9 [INFO] [stdout] | [INFO] [stdout] 1337 | } 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] 1307 ~ match self.meta_handler.take() { Some(mut handler) => { [INFO] [stdout] 1308 | if handler.expected_hop() == hopnum { [INFO] [stdout] ... [INFO] [stdout] 1336 | } [INFO] [stdout] 1337 ~ } _ => { [INFO] [stdout] 1338 | // No need to call shutdown here, since this error will [INFO] [stdout] ... [INFO] [stdout] 1343 | ))) [INFO] [stdout] 1344 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] quoting the full output of this command we'd be very appreciative! [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/circuit/reactor.rs:1836:15 [INFO] [stdout] | [INFO] [stdout] 1836 | while let Some(msg) = msgs.next() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/circuit/reactor.rs:1853:9 [INFO] [stdout] | [INFO] [stdout] 1853 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [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: ambiguous `+` in a type [INFO] [stderr] --> src/circuit/path.rs:70:45 [INFO] [stderr] | [INFO] [stderr] 70 | pub fn as_chan_target(&self) -> Option<&impl tor_linkspec::ChanTarget + use<>> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] help: try adding parentheses [INFO] [stderr] | [INFO] [stderr] 70 | pub fn as_chan_target(&self) -> Option<&(impl tor_linkspec::ChanTarget + use<>)> { [INFO] [stderr] | + + [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `impl Iterator)> + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/circuit/streammap.rs:456:10 [INFO] [stdout] | [INFO] [stdout] 456 | ) -> impl Iterator)> + 'a { [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/circuit/streammap.rs:455:13 [INFO] [stdout] | [INFO] [stdout] 455 | cx: &mut std::task::Context, [INFO] [stdout] | ^ ^^^^^^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 456 | ) -> impl Iterator)> + 'a + use<'a> { [INFO] [stdout] | +++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/circuit.rs:2275:27 [INFO] [stdout] | [INFO] [stdout] 2275 | while let Some(mut client) = clients.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/circuit.rs:2283:21 [INFO] [stdout] | [INFO] [stdout] 2283 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stream/data.rs:420:12 [INFO] [stdout] | [INFO] [stdout] 420 | if let DataReaderState::Ready(imp) = state { [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/stream/data.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 432 | } 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] 420 ~ match state { DataReaderState::Ready(imp) => { [INFO] [stdout] 421 | let (imp, result) = if imp.connected { [INFO] [stdout] ... [INFO] [stdout] 431 | result [INFO] [stdout] 432 ~ } _ => { [INFO] [stdout] 433 | Err(Error::from(internal!( [INFO] [stdout] ... [INFO] [stdout] 436 | ))) [INFO] [stdout] 437 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/stream/data.rs:715:16 [INFO] [stdout] | [INFO] [stdout] 715 | if let Some((cell, remainder)) = Data::try_split_from(&self.buf[..self.n_pending]) { [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/stream/data.rs:721:13 [INFO] [stdout] | [INFO] [stdout] 721 | } 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] 715 ~ match Data::try_split_from(&self.buf[..self.n_pending]) { Some((cell, remainder)) => { [INFO] [stdout] 716 | // TODO: Eventually we may want a larger buffer; if we do, [INFO] [stdout] ... [INFO] [stdout] 720 | self.s.send(cell.into()).await [INFO] [stdout] 721 ~ } _ => { [INFO] [stdout] 722 | Ok(()) [INFO] [stdout] 723 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/keyed_futures_unordered.rs:313:16 [INFO] [stdout] | [INFO] [stdout] 313 | if let Some(waker) = self.waker.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/util/keyed_futures_unordered.rs:315:13 [INFO] [stdout] | [INFO] [stdout] 315 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 313 ~ match self.waker.take() { Some(waker) => { [INFO] [stdout] 314 | waker.wake(); [INFO] [stdout] 315 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/stream_poll_set.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 153 | if let Some((key, fut)) = self.pending_streams.remove(key) { [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/util/stream_poll_set.rs:164:9 [INFO] [stdout] | [INFO] [stdout] 164 | } 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] 153 ~ match self.pending_streams.remove(key) { Some((key, fut)) => { [INFO] [stdout] 154 | // Validate `priorities` invariant that keys are also present in exactly one of [INFO] [stdout] ... [INFO] [stdout] 163 | Some((key, priority, stream)) [INFO] [stdout] 164 ~ } _ => { [INFO] [stdout] 165 | let ((_priority, key), stream) = self [INFO] [stdout] ... [INFO] [stdout] 174 | Some((key, priority, stream)) [INFO] [stdout] 175 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/util/stream_poll_set.rs:256:10 [INFO] [stdout] | [INFO] [stdout] 256 | ) -> impl Iterator + 'a { [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/util/stream_poll_set.rs:255:13 [INFO] [stdout] | [INFO] [stdout] 255 | cx: &mut Context, [INFO] [stdout] | ^ ^^^^^^^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 256 | ) -> impl Iterator + 'a + use<'a, K, P, S> { [INFO] [stdout] | ++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/stream_poll_set.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | while let Poll::Ready(Some((key, stream))) = self.pending_streams.poll_next_unpin(cx) { [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/util/stream_poll_set.rs:266:9 [INFO] [stdout] | [INFO] [stdout] 266 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/stream_poll_set.rs:485:16 [INFO] [stdout] | [INFO] [stdout] 485 | if let Some(waker) = self.waker.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/util/stream_poll_set.rs:487:13 [INFO] [stdout] | [INFO] [stdout] 487 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 485 ~ match self.waker.take() { Some(waker) => { [INFO] [stdout] 486 | waker.wake(); [INFO] [stdout] 487 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/util/stream_poll_set.rs:497:16 [INFO] [stdout] | [INFO] [stdout] 497 | if let Some(val) = self.as_mut().vec.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/util/stream_poll_set.rs:499:13 [INFO] [stdout] | [INFO] [stdout] 499 | } else if self.as_mut().closed { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 497 ~ match self.as_mut().vec.pop_front() { Some(val) => { [INFO] [stdout] 498 | Poll::Ready(Some(val)) [INFO] [stdout] 499 ~ } _ => if self.as_mut().closed { [INFO] [stdout] 500 | // No more items coming. [INFO] [stdout] ... [INFO] [stdout] 504 | Poll::Pending [INFO] [stdout] 505 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 23 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.59s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking tor-proto v0.22.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/circuit/streammap.rs:249:46 [INFO] [stdout] | [INFO] [stdout] 249 | let next_stream_id: NonZeroU16 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 249 | let next_stream_id: NonZeroU16 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/circuit/streammap.rs:249:46 [INFO] [stdout] | [INFO] [stdout] 249 | let next_stream_id: NonZeroU16 = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 249 | let next_stream_id: NonZeroU16 = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tor-proto` (lib) due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `tor-proto` (lib test) due to 2 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" "e72501e487e7c0a6a24c1e3c9fda9d5aecbc2f5b70e8f175e81ce0c1c21f5d3b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e72501e487e7c0a6a24c1e3c9fda9d5aecbc2f5b70e8f175e81ce0c1c21f5d3b", kill_on_drop: false }` [INFO] [stdout] e72501e487e7c0a6a24c1e3c9fda9d5aecbc2f5b70e8f175e81ce0c1c21f5d3b