[INFO] fetching crate xrtsp 0.3.0... [INFO] checking xrtsp-0.3.0 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate xrtsp 0.3.0 into /workspace/builds/worker-5-tc2/source [INFO] validating manifest of crates.io crate xrtsp 0.3.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 xrtsp 0.3.0 [INFO] finished tweaking crates.io crate xrtsp 0.3.0 [INFO] tweaked toml for crates.io crate xrtsp 0.3.0 written to /workspace/builds/worker-5-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 196 packages to latest compatible versions [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 env_logger v0.10.2 (available: v0.11.5) [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 h2 v0.3.26 (available: v0.4.6) [INFO] [stderr] Adding hashbrown v0.12.3 (available: v0.14.5) [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.30 (available: v1.4.1) [INFO] [stderr] Adding hyper-tls v0.5.0 (available: v0.6.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 linux-raw-sys v0.4.14 (available: v0.6.5) [INFO] [stderr] Adding rand v0.3.23 (available: v0.8.5) [INFO] [stderr] Adding rand v0.4.6 (available: v0.8.5) [INFO] [stderr] Adding rand_core v0.3.1 (available: v0.6.4) [INFO] [stderr] Adding rand_core v0.4.2 (available: v0.6.4) [INFO] [stderr] Adding rdrand v0.4.0 (available: v0.8.3) [INFO] [stderr] Adding reqwest v0.11.27 (available: v0.12.7) [INFO] [stderr] Adding rustls-pemfile v1.0.4 (available: v2.1.3) [INFO] [stderr] Adding security-framework v2.11.1 (available: v3.0.0) [INFO] [stderr] Adding syn v1.0.109 (available: v2.0.77) [INFO] [stderr] Adding sync_wrapper v0.1.2 (available: v1.0.1) [INFO] [stderr] Adding synstructure v0.12.6 (available: v0.13.1) [INFO] [stderr] Adding system-configuration v0.5.1 (available: v0.6.1) [INFO] [stderr] Adding system-configuration-sys v0.5.0 (available: v0.6.0) [INFO] [stderr] Adding tokio-util v0.6.10 (available: v0.7.12) [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 winreg v0.50.0 (available: v0.52.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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 1fe55b4fc9a000e5f87ac794bcdc11da162eade107d96d0a1fec1501f67d4d77 [INFO] running `Command { std: "docker" "start" "-a" "1fe55b4fc9a000e5f87ac794bcdc11da162eade107d96d0a1fec1501f67d4d77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1fe55b4fc9a000e5f87ac794bcdc11da162eade107d96d0a1fec1501f67d4d77", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1fe55b4fc9a000e5f87ac794bcdc11da162eade107d96d0a1fec1501f67d4d77", kill_on_drop: false }` [INFO] [stdout] 1fe55b4fc9a000e5f87ac794bcdc11da162eade107d96d0a1fec1501f67d4d77 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] f1fb2da69a2db4210a979efa7623b04e61cefdbdaf9aa3fd333d866bf0e170f5 [INFO] running `Command { std: "docker" "start" "-a" "f1fb2da69a2db4210a979efa7623b04e61cefdbdaf9aa3fd333d866bf0e170f5", 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 proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.13 [INFO] [stderr] Compiling libc v0.2.159 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking bytes v1.7.2 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Compiling serde v1.0.210 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking futures-io v0.3.30 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stderr] Compiling vcpkg v0.2.15 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Compiling cc v1.1.21 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Compiling failure_derive v0.1.8 [INFO] [stderr] Compiling unicode-xid v0.2.6 [INFO] [stderr] Checking gimli v0.31.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking rustc-demangle v0.1.24 [INFO] [stderr] Compiling openssl v0.10.66 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking foreign-types-shared v0.1.1 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking foreign-types v0.3.2 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking object v0.36.4 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Compiling native-tls v0.2.12 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Compiling indexmap v1.9.3 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking iana-time-zone v0.1.61 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Compiling openssl-src v300.3.2+3.3.2 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking hashbrown v0.12.3 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking indexmap v2.5.0 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling anyhow v1.0.89 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking base64 v0.21.7 [INFO] [stderr] Checking encoding_rs v0.8.34 [INFO] [stderr] Checking unicode-normalization v0.1.24 [INFO] [stderr] Checking ipnet v2.10.0 [INFO] [stderr] Checking sync_wrapper v0.1.2 [INFO] [stderr] Checking rustls-pemfile v1.0.4 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Compiling openssl-sys v0.9.103 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking rand v0.4.6 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Checking md5 v0.7.0 [INFO] [stderr] Checking hex v0.4.3 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking rand v0.3.23 [INFO] [stderr] Checking addr2line v0.24.1 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Checking backtrace v0.3.74 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking failure v0.1.8 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling serde_derive v1.0.210 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling async-trait v0.1.83 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking futures-executor v0.3.30 [INFO] [stderr] Checking futures v0.3.30 [INFO] [stderr] Checking tokio-util v0.7.12 [INFO] [stderr] Checking tokio-util v0.6.10 [INFO] [stderr] Checking tokio-stream v0.1.16 [INFO] [stderr] Checking bytesio v0.3.4 [INFO] [stderr] Checking h2 v0.3.26 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking h264-decoder v0.2.4 [INFO] [stderr] Checking xflv v0.4.4 [INFO] [stderr] Checking cron v0.12.1 [INFO] [stderr] Checking job_scheduler_ng v2.0.5 [INFO] [stderr] Checking commonlib v0.1.2 [INFO] [stderr] Checking hyper v0.14.30 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking streamhub v0.2.4 [INFO] [stderr] Checking xrtsp v0.3.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 `xrtsp` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/rtsp_range.rs [INFO] [stderr] * src/rtsp_utils.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/rtsp_utils.rs:2:7 [INFO] [stderr] | [INFO] [stderr] 2 | ( $string:expr_2021, $sep:expr_2021, $( $x:ty ),+ ) => {{ [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/rtsp_utils.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | ( $string:expr_2021, $sep:expr_2021, $( $x:ty ),+ ) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead [INFO] [stderr] --> src/rtsp_range.rs:43:30 [INFO] [stderr] | [INFO] [stderr] 43 | datetime.timestamp() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rtsp_channel.rs:59:44 [INFO] [stdout] | [INFO] [stdout] 59 | let ssrc: u32 = rand::thread_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: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rtsp_utils.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | ( $string:expr, $sep:expr, $( $x:ty ),+ ) => {{ [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] 2 | ( $string:expr_2021, $sep:expr, $( $x:ty ),+ ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rtsp_utils.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | ( $string:expr, $sep:expr, $( $x:ty ),+ ) => {{ [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] 2 | ( $string:expr, $sep:expr_2021, $( $x:ty ),+ ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead [INFO] [stdout] --> src/rtsp_range.rs:43:30 [INFO] [stdout] | [INFO] [stdout] 43 | datetime.timestamp() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/relay/pull_client_manager.rs:84:44 [INFO] [stdout] | [INFO] [stdout] 84 | ... if let Err(err) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 85 | | ... arc_client_session.lock().await.run().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/relay/pull_client_manager.rs:100:41 [INFO] [stdout] | [INFO] [stdout] 100 | ... } [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] 84 ~ match arc_client_session.lock().await.run().await [INFO] [stdout] 85 ~ { Err(err) => { [INFO] [stdout] 86 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 98 | //} [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/relay/pull_client_manager.rs:103:40 [INFO] [stdout] | [INFO] [stdout] 103 | ... if let Err(send_err) = sender.send(Ok(())).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/relay/pull_client_manager.rs:105:37 [INFO] [stdout] | [INFO] [stdout] 105 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ match sender.send(Ok(())).await { Err(send_err) => { [INFO] [stdout] 104 | log::error!("sender error: {}", send_err); [INFO] [stdout] 105 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/relay/pull_client_manager.rs:143:24 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some(client) = self.clients.get_mut(&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/relay/pull_client_manager.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | } 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] 143 ~ match self.clients.get_mut(&id) { Some(client) => { [INFO] [stdout] 144 | client.store(false, std::sync::atomic::Ordering::Release); [INFO] [stdout] 145 | self.clients.remove(&id); [INFO] [stdout] 146 ~ } _ => { [INFO] [stdout] 147 | log::warn!("the client session with id:{} not exists", id); [INFO] [stdout] ... [INFO] [stdout] 156 | } [INFO] [stdout] 157 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/relay/pull_client_manager.rs:154:28 [INFO] [stdout] | [INFO] [stdout] 154 | if let Err(send_err) = sender.send(err).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/relay/pull_client_manager.rs:156:25 [INFO] [stdout] | [INFO] [stdout] 156 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 154 ~ match sender.send(err).await { Err(send_err) => { [INFO] [stdout] 155 | log::error!("sender error: {}", send_err); [INFO] [stdout] 156 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_aac.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_aac.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 149 | f(FrameData::Audio { [INFO] [stdout] ... [INFO] [stdout] 152 | })?; [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h264.rs:291:16 [INFO] [stdout] | [INFO] [stdout] 291 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h264.rs:296:13 [INFO] [stdout] | [INFO] [stdout] 296 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 291 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 292 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 295 | })?; [INFO] [stdout] 296 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h264.rs:366:16 [INFO] [stdout] | [INFO] [stdout] 366 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h264.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 366 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 367 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 370 | })?; [INFO] [stdout] 371 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h264.rs:460:16 [INFO] [stdout] | [INFO] [stdout] 460 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h264.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 460 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 461 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 464 | })?; [INFO] [stdout] 465 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h265.rs:279:16 [INFO] [stdout] | [INFO] [stdout] 279 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h265.rs:284:13 [INFO] [stdout] | [INFO] [stdout] 284 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 279 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 280 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 283 | })?; [INFO] [stdout] 284 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h265.rs:348:16 [INFO] [stdout] | [INFO] [stdout] 348 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h265.rs:353:13 [INFO] [stdout] | [INFO] [stdout] 353 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 348 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 349 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 352 | })?; [INFO] [stdout] 353 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp.rs:34:20 [INFO] [stdout] | [INFO] [stdout] 34 | if let Err(err) = session.run().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/rtsp.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 34 ~ match session.run().await { Err(err) => { [INFO] [stdout] 35 | let session_id = if let Some(id) = session.session_id { [INFO] [stdout] ... [INFO] [stdout] 67 | } [INFO] [stdout] 68 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp.rs:35:41 [INFO] [stdout] | [INFO] [stdout] 35 | let session_id = if let Some(id) = session.session_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/rtsp.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | } 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] 35 ~ let session_id = match session.session_id { Some(id) => { [INFO] [stdout] 36 | id.to_string() [INFO] [stdout] 37 ~ } _ => { [INFO] [stdout] 38 | "none".to_string() [INFO] [stdout] 39 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | if let Some(identifier) = session.stream_identifier.clone() { [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/rtsp.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 48 ~ match session.stream_identifier.clone() { Some(identifier) => { [INFO] [stdout] 49 | match session.exit(identifier) { [INFO] [stdout] ... [INFO] [stdout] 65 | } [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(unpacker) = &mut self.rtp_unpacker { [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/rtsp_channel.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match &mut self.rtp_unpacker { Some(unpacker) => { [INFO] [stdout] 95 | unpacker.on_frame_handler(f); [INFO] [stdout] 96 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | if let Some(packer) = &mut self.rtp_packer { [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/rtsp_channel.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 101 ~ match &mut self.rtp_packer { Some(packer) => { [INFO] [stdout] 102 | packer.on_packet_handler(f); [INFO] [stdout] 103 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if let Some(packer) = &mut self.rtp_packer { [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/rtsp_channel.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 ~ match &mut self.rtp_packer { Some(packer) => { [INFO] [stdout] 109 | packer.on_packet_for_rtcp_handler(f); [INFO] [stdout] 110 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | if let Ok(rtcp_header) = RtcpHeader::unmarshal(&mut reader_clone) { [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/rtsp_channel.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 173 ~ match RtcpHeader::unmarshal(&mut reader_clone) { Ok(rtcp_header) => { [INFO] [stdout] 174 | match rtcp_header.payload_type { [INFO] [stdout] ... [INFO] [stdout] 185 | } [INFO] [stdout] 186 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:176:24 [INFO] [stdout] | [INFO] [stdout] 176 | if let Ok(sr) = RtcpSenderReport::unmarshal(reader) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 176 ~ match RtcpSenderReport::unmarshal(reader) { Ok(sr) => { [INFO] [stdout] 177 | self.recv_ctx.received_sr(&sr); [INFO] [stdout] ... [INFO] [stdout] 180 | } [INFO] [stdout] 181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:178:28 [INFO] [stdout] | [INFO] [stdout] 178 | if let Err(err) = self.send_rr(rtcp_io).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/rtsp_channel.rs:180:25 [INFO] [stdout] | [INFO] [stdout] 180 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 178 ~ match self.send_rr(rtcp_io).await { Err(err) => { [INFO] [stdout] 179 | log::error!("send rr error: {}", err); [INFO] [stdout] 180 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_track.rs:67:28 [INFO] [stdout] | [INFO] [stdout] 67 | if let Err(err) = rtp_channel_in.on_packet(&mut reader).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/rtsp_track.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 67 ~ match rtp_channel_in.on_packet(&mut reader).await { Err(err) => { [INFO] [stdout] 68 | log::error!("rtp_receive_loop on_packet error: {}", err); [INFO] [stdout] 69 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/mod.rs:236:24 [INFO] [stdout] | [INFO] [stdout] 236 | if let Some(sdp_media) = SdpMediaInfo::unmarshal(kv[1]) { [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/sdp/mod.rs:238:21 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 236 ~ match SdpMediaInfo::unmarshal(kv[1]) { Some(sdp_media) => { [INFO] [stdout] 237 | sdp.medias.push(sdp_media); [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/mod.rs:241:24 [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(cur_media) = sdp.medias.last_mut() { [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/sdp/mod.rs:243:21 [INFO] [stdout] | [INFO] [stdout] 243 | } 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] 241 ~ match sdp.medias.last_mut() { Some(cur_media) => { [INFO] [stdout] 242 | cur_media.bandwidth = Some(Bandwidth::unmarshal(kv[1]).unwrap()); [INFO] [stdout] 243 ~ } _ => { [INFO] [stdout] 244 | continue; [INFO] [stdout] 245 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/mod.rs:260:24 [INFO] [stdout] | [INFO] [stdout] 260 | if let Some(cur_media) = sdp.medias.last_mut() { [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/sdp/mod.rs:280:21 [INFO] [stdout] | [INFO] [stdout] 280 | } 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] 260 ~ match sdp.medias.last_mut() { Some(cur_media) => { [INFO] [stdout] 261 | if attribute.len() == 2 { [INFO] [stdout] ... [INFO] [stdout] 279 | .insert(attr_name.to_string(), attr_value.to_string()); [INFO] [stdout] 280 ~ } _ => { [INFO] [stdout] 281 | sdp.attributes [INFO] [stdout] 282 | .insert(attr_name.to_string(), attr_value.to_string()); [INFO] [stdout] 283 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/fmtp.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | if let Some(h264_fmtp) = H264Fmtp::unmarshal(raw_data) { [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/sdp/fmtp.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 43 ~ match H264Fmtp::unmarshal(raw_data) { Some(h264_fmtp) => { [INFO] [stdout] 44 | return Some(Fmtp::H264(h264_fmtp)); [INFO] [stdout] 45 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/fmtp.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | if let Some(h265_fmtp) = H265Fmtp::unmarshal(raw_data) { [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/sdp/fmtp.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 48 ~ match H265Fmtp::unmarshal(raw_data) { Some(h265_fmtp) => { [INFO] [stdout] 49 | return Some(Fmtp::H265(h265_fmtp)); [INFO] [stdout] 50 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/fmtp.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | if let Some(mpeg4_fmtp) = Mpeg4Fmtp::unmarshal(raw_data) { [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/sdp/fmtp.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 53 ~ match Mpeg4Fmtp::unmarshal(raw_data) { Some(mpeg4_fmtp) => { [INFO] [stdout] 54 | return Some(Fmtp::Mpeg4(mpeg4_fmtp)); [INFO] [stdout] 55 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 142 | if let Ok(Some(a)) = InterleavedBinaryData::new(&mut self.reader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | } [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 InterleavedBinaryData::new(&mut self.reader) { Ok(Some(a)) => { [INFO] [stdout] 143 | if self.reader.len() < a.length as usize { [INFO] [stdout] ... [INFO] [stdout] 148 | .await?; [INFO] [stdout] 149 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:209:36 [INFO] [stdout] | [INFO] [stdout] 209 | let media_control = if let Some(media_control_val) = media.attributes.get("control") { [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/client_session.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } 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] 209 ~ let media_control = match media.attributes.get("control") { Some(media_control_val) => { [INFO] [stdout] 210 | media_control_val.clone() [INFO] [stdout] 211 ~ } _ => { [INFO] [stdout] 212 | log::error!("cannot get media control!!"); [INFO] [stdout] 213 | String::from("") [INFO] [stdout] 214 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:242:28 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(track) = self.tracks.get_mut(&TrackType::Audio) { [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/client_session.rs:244:25 [INFO] [stdout] | [INFO] [stdout] 244 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 242 ~ match self.tracks.get_mut(&TrackType::Audio) { Some(track) => { [INFO] [stdout] 243 | track.transport.interleaved = media_transport.interleaved; [INFO] [stdout] 244 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:246:28 [INFO] [stdout] | [INFO] [stdout] 246 | if let Some(track) = self.tracks.get_mut(&TrackType::Video) { [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/client_session.rs:248:25 [INFO] [stdout] | [INFO] [stdout] 248 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 246 ~ match self.tracks.get_mut(&TrackType::Video) { Some(track) => { [INFO] [stdout] 247 | track.transport.interleaved = media_transport.interleaved; [INFO] [stdout] 248 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:252:24 [INFO] [stdout] | [INFO] [stdout] 252 | if let Some((socket_rtp, socket_rtcp)) = new_udpio_pair().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/client_session.rs:288:21 [INFO] [stdout] | [INFO] [stdout] 288 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 252 ~ match new_udpio_pair().await { Some((socket_rtp, socket_rtcp)) => { [INFO] [stdout] 253 | let media_transport = RtspTransport { [INFO] [stdout] ... [INFO] [stdout] 287 | } [INFO] [stdout] 288 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | ... if let Some(track) = self.tracks.get_mut(&TrackType::Audio) { [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/client_session.rs:276:29 [INFO] [stdout] | [INFO] [stdout] 276 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 268 ~ match self.tracks.get_mut(&TrackType::Audio) { Some(track) => { [INFO] [stdout] 269 | let box_rtp_io: Box = [INFO] [stdout] ... [INFO] [stdout] 275 | track.rtcp_receive_loop(box_rtcp_io).await; [INFO] [stdout] 276 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:278:32 [INFO] [stdout] | [INFO] [stdout] 278 | ... if let Some(track) = self.tracks.get_mut(&TrackType::Video) { [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/client_session.rs:286:29 [INFO] [stdout] | [INFO] [stdout] 286 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match self.tracks.get_mut(&TrackType::Video) { Some(track) => { [INFO] [stdout] 279 | let box_rtp_io: Box = [INFO] [stdout] ... [INFO] [stdout] 285 | track.rtcp_receive_loop(box_rtcp_io).await; [INFO] [stdout] 286 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:457:16 [INFO] [stdout] | [INFO] [stdout] 457 | if let Some(rtsp_response_data) = RtspResponse::unmarshal(std::str::from_utf8(&data)?) { [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/client_session.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | } 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] 457 ~ match RtspResponse::unmarshal(std::str::from_utf8(&data)?) { Some(rtsp_response_data) => { [INFO] [stdout] 458 | // TCP packet sticking issue, if have content_length in header. [INFO] [stdout] ... [INFO] [stdout] 483 | break; [INFO] [stdout] 484 ~ } _ => { [INFO] [stdout] 485 | log::error!("corrupted rtsp message={}", std::str::from_utf8(&data)?); [INFO] [stdout] 486 | return Ok(()); [INFO] [stdout] 487 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:499:20 [INFO] [stdout] | [INFO] [stdout] 499 | if let Some(public) = rtsp_response.get_header(&"Public".to_string()) { [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/client_session.rs:501:17 [INFO] [stdout] | [INFO] [stdout] 501 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 499 ~ match rtsp_response.get_header(&"Public".to_string()) { Some(public) => { [INFO] [stdout] 500 | log::info!("support methods: {}", public); [INFO] [stdout] 501 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:505:20 [INFO] [stdout] | [INFO] [stdout] 505 | if let Some(request_body) = &rtsp_response.body { [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/client_session.rs:556:17 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 505 ~ match &rtsp_response.body { Some(request_body) => { [INFO] [stdout] 506 | if let Some(sdp) = Sdp::unmarshal(request_body) { [INFO] [stdout] ... [INFO] [stdout] 555 | } [INFO] [stdout] 556 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:506:24 [INFO] [stdout] | [INFO] [stdout] 506 | if let Some(sdp) = Sdp::unmarshal(request_body) { [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/client_session.rs:555:21 [INFO] [stdout] | [INFO] [stdout] 555 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 506 ~ match Sdp::unmarshal(request_body) { Some(sdp) => { [INFO] [stdout] 507 | self.sdp = sdp.clone(); [INFO] [stdout] ... [INFO] [stdout] 554 | } [INFO] [stdout] 555 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:560:24 [INFO] [stdout] | [INFO] [stdout] 560 | if let Some(session_id) = rtsp_response.get_header(&"Session".to_string()) { [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/client_session.rs:562:21 [INFO] [stdout] | [INFO] [stdout] 562 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 560 ~ match rtsp_response.get_header(&"Session".to_string()) { Some(session_id) => { [INFO] [stdout] 561 | self.session_id = Uuid::from_str2(session_id); [INFO] [stdout] 562 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:565:20 [INFO] [stdout] | [INFO] [stdout] 565 | if let Some(transport_str) = rtsp_response.get_header(&"Transport".to_string()) { [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/client_session.rs:567:17 [INFO] [stdout] | [INFO] [stdout] 567 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 565 ~ match rtsp_response.get_header(&"Transport".to_string()) { Some(transport_str) => { [INFO] [stdout] 566 | log::info!("setup response: transport {}", transport_str); [INFO] [stdout] 567 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Ok(data) = InterleavedBinaryData::new(&mut self.reader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 159 ~ match InterleavedBinaryData::new(&mut self.reader) { Ok(data) => { [INFO] [stdout] 160 | match data { [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] 173 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(rtsp_request_data) = RtspRequest::unmarshal(std::str::from_utf8(&data)?) { [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/server_session.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | } 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 RtspRequest::unmarshal(std::str::from_utf8(&data)?) { Some(rtsp_request_data) => { [INFO] [stdout] 208 | // TCP packet sticking issue, if have content_length in header. [INFO] [stdout] ... [INFO] [stdout] 232 | self.reader.extract_remaining_bytes(); [INFO] [stdout] 233 ~ } _ => { [INFO] [stdout] 234 | log::error!("corrupted rtsp message={}", std::str::from_utf8(&data)?); [INFO] [stdout] 235 | return Ok(()); [INFO] [stdout] 236 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:254:20 [INFO] [stdout] | [INFO] [stdout] 254 | if let Err(err) = self.handle_play(&rtsp_request).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/server_session.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 254 ~ match self.handle_play(&rtsp_request).await { Err(err) => { [INFO] [stdout] 255 | log::info!("handle_play error: {}", err); [INFO] [stdout] 256 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:305:16 [INFO] [stdout] | [INFO] [stdout] 305 | if let Some(sdp) = Sdp::unmarshal(&data) { [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/server_session.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 305 ~ match Sdp::unmarshal(&data) { Some(sdp) => { [INFO] [stdout] 306 | self.sdp = sdp; [INFO] [stdout] 307 | //it can new tracks when get the sdp information; [INFO] [stdout] 308 | self.new_tracks()?; [INFO] [stdout] 309 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:338:16 [INFO] [stdout] | [INFO] [stdout] 338 | if let Some(sdp) = Sdp::unmarshal(request_body) { [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/server_session.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 338 ~ match Sdp::unmarshal(request_body) { Some(sdp) => { [INFO] [stdout] 339 | self.sdp = sdp.clone(); [INFO] [stdout] 340 | self.stream_handler.set_sdp(sdp).await; [INFO] [stdout] 341 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:444:32 [INFO] [stdout] | [INFO] [stdout] 444 | ... if let Some(rtcp_io) = [INFO] [stdout] | ___________________________^ [INFO] [stdout] 445 | |/ ... UdpIO::new(address.clone(), rtcp_port, rtp_server_port.unwrap() + 1) [INFO] [stdout] 446 | || ... .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/server_session.rs:452:29 [INFO] [stdout] | [INFO] [stdout] 452 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 444 ~ match UdpIO::new(address.clone(), rtcp_port, rtp_server_port.unwrap() + 1) [INFO] [stdout] 445 | .await [INFO] [stdout] 446 ~ { Some(rtcp_io) => { [INFO] [stdout] 447 | rtcp_server_port = rtcp_io.get_local_port(); [INFO] [stdout] ... [INFO] [stdout] 450 | track.rtcp_receive_loop(box_rtcp_io).await; [INFO] [stdout] 451 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:571:16 [INFO] [stdout] | [INFO] [stdout] 571 | if let Some(frame_data) = receiver.recv().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/server_session.rs:601:13 [INFO] [stdout] | [INFO] [stdout] 601 | } 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] 571 ~ match receiver.recv().await { Some(frame_data) => { [INFO] [stdout] 572 | match frame_data { [INFO] [stdout] ... [INFO] [stdout] 600 | } [INFO] [stdout] 601 ~ } _ => { [INFO] [stdout] 602 | retry_times += 1; [INFO] [stdout] ... [INFO] [stdout] 612 | } [INFO] [stdout] 613 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:577:28 [INFO] [stdout] | [INFO] [stdout] 577 | if let Some(audio_track) = self.tracks.get_mut(&TrackType::Audio) { [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/server_session.rs:584:25 [INFO] [stdout] | [INFO] [stdout] 584 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 577 ~ match self.tracks.get_mut(&TrackType::Audio) { Some(audio_track) => { [INFO] [stdout] 578 | audio_track [INFO] [stdout] ... [INFO] [stdout] 583 | .await?; [INFO] [stdout] 584 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:590:28 [INFO] [stdout] | [INFO] [stdout] 590 | if let Some(video_track) = self.tracks.get_mut(&TrackType::Video) { [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/server_session.rs:597:25 [INFO] [stdout] | [INFO] [stdout] 597 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 590 ~ match self.tracks.get_mut(&TrackType::Video) { Some(video_track) => { [INFO] [stdout] 591 | video_track [INFO] [stdout] ... [INFO] [stdout] 596 | .await?; [INFO] [stdout] 597 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:834:24 [INFO] [stdout] | [INFO] [stdout] 834 | if let Some(fmtp) = &media.fmtp { [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/server_session.rs:882:21 [INFO] [stdout] | [INFO] [stdout] 882 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 834 ~ match &media.fmtp { Some(fmtp) => { [INFO] [stdout] 835 | match fmtp { [INFO] [stdout] ... [INFO] [stdout] 881 | } [INFO] [stdout] 882 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | if let Err(err) = sender.send(FrameData::MediaInfo { [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |___________________________________| [INFO] [stdout] 886 | || media_info: MediaInfo { [INFO] [stdout] 887 | || audio_clock_rate, [INFO] [stdout] 888 | || video_clock_rate, [INFO] [stdout] ... || [INFO] [stdout] 891 | || }, [INFO] [stdout] 892 | || }) { [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/session/server_session.rs:894:17 [INFO] [stdout] | [INFO] [stdout] 894 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 885 ~ match sender.send(FrameData::MediaInfo { [INFO] [stdout] 886 | media_info: MediaInfo { [INFO] [stdout] ... [INFO] [stdout] 891 | }, [INFO] [stdout] 892 ~ }) { Err(err) => { [INFO] [stdout] 893 | log::error!("send media info error: {}", err); [INFO] [stdout] 894 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:907:12 [INFO] [stdout] | [INFO] [stdout] 907 | if let Err(err) = sender.send(Information::Sdp { [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] 908 | | data: self.sdp.lock().await.marshal(), [INFO] [stdout] 909 | | }) { [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/session/server_session.rs:911:9 [INFO] [stdout] | [INFO] [stdout] 911 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 907 ~ match sender.send(Information::Sdp { [INFO] [stdout] 908 | data: self.sdp.lock().await.marshal(), [INFO] [stdout] 909 ~ }) { Err(err) => { [INFO] [stdout] 910 | log::error!("send_information of rtsp error: {}", err); [INFO] [stdout] 911 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 55 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `xrtsp` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/rtsp_range.rs [INFO] [stderr] * src/rtsp_utils.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/rtsp_utils.rs:2:7 [INFO] [stderr] | [INFO] [stderr] 2 | ( $string:expr_2021, $sep:expr_2021, $( $x:ty ),+ ) => {{ [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/rtsp_utils.rs:2:26 [INFO] [stderr] | [INFO] [stderr] 2 | ( $string:expr_2021, $sep:expr_2021, $( $x:ty ),+ ) => {{ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead [INFO] [stderr] --> src/rtsp_range.rs:43:30 [INFO] [stderr] | [INFO] [stderr] 43 | datetime.timestamp() [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/rtsp_channel.rs:59:44 [INFO] [stdout] | [INFO] [stdout] 59 | let ssrc: u32 = rand::thread_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: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rtsp_utils.rs:2:15 [INFO] [stdout] | [INFO] [stdout] 2 | ( $string:expr, $sep:expr, $( $x:ty ),+ ) => {{ [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] 2 | ( $string:expr_2021, $sep:expr, $( $x:ty ),+ ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/rtsp_utils.rs:2:26 [INFO] [stdout] | [INFO] [stdout] 2 | ( $string:expr, $sep:expr, $( $x:ty ),+ ) => {{ [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] 2 | ( $string:expr, $sep:expr_2021, $( $x:ty ),+ ) => {{ [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead [INFO] [stdout] --> src/rtsp_range.rs:43:30 [INFO] [stdout] | [INFO] [stdout] 43 | datetime.timestamp() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/relay/pull_client_manager.rs:84:44 [INFO] [stdout] | [INFO] [stdout] 84 | ... if let Err(err) = [INFO] [stdout] | __________________________^ [INFO] [stdout] 85 | | ... arc_client_session.lock().await.run().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/relay/pull_client_manager.rs:100:41 [INFO] [stdout] | [INFO] [stdout] 100 | ... } [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] 84 ~ match arc_client_session.lock().await.run().await [INFO] [stdout] 85 ~ { Err(err) => { [INFO] [stdout] 86 | log::error!( [INFO] [stdout] ... [INFO] [stdout] 98 | //} [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/relay/pull_client_manager.rs:103:40 [INFO] [stdout] | [INFO] [stdout] 103 | ... if let Err(send_err) = sender.send(Ok(())).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/relay/pull_client_manager.rs:105:37 [INFO] [stdout] | [INFO] [stdout] 105 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ match sender.send(Ok(())).await { Err(send_err) => { [INFO] [stdout] 104 | log::error!("sender error: {}", send_err); [INFO] [stdout] 105 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/relay/pull_client_manager.rs:143:24 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some(client) = self.clients.get_mut(&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/relay/pull_client_manager.rs:146:21 [INFO] [stdout] | [INFO] [stdout] 146 | } 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] 143 ~ match self.clients.get_mut(&id) { Some(client) => { [INFO] [stdout] 144 | client.store(false, std::sync::atomic::Ordering::Release); [INFO] [stdout] 145 | self.clients.remove(&id); [INFO] [stdout] 146 ~ } _ => { [INFO] [stdout] 147 | log::warn!("the client session with id:{} not exists", id); [INFO] [stdout] ... [INFO] [stdout] 156 | } [INFO] [stdout] 157 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/relay/pull_client_manager.rs:154:28 [INFO] [stdout] | [INFO] [stdout] 154 | if let Err(send_err) = sender.send(err).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/relay/pull_client_manager.rs:156:25 [INFO] [stdout] | [INFO] [stdout] 156 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 154 ~ match sender.send(err).await { Err(send_err) => { [INFO] [stdout] 155 | log::error!("sender error: {}", send_err); [INFO] [stdout] 156 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_aac.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_aac.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 148 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 149 | f(FrameData::Audio { [INFO] [stdout] ... [INFO] [stdout] 152 | })?; [INFO] [stdout] 153 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h264.rs:291:16 [INFO] [stdout] | [INFO] [stdout] 291 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h264.rs:296:13 [INFO] [stdout] | [INFO] [stdout] 296 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 291 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 292 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 295 | })?; [INFO] [stdout] 296 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h264.rs:366:16 [INFO] [stdout] | [INFO] [stdout] 366 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h264.rs:371:13 [INFO] [stdout] | [INFO] [stdout] 371 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 366 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 367 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 370 | })?; [INFO] [stdout] 371 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h264.rs:460:16 [INFO] [stdout] | [INFO] [stdout] 460 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h264.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 460 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 461 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 464 | })?; [INFO] [stdout] 465 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h265.rs:279:16 [INFO] [stdout] | [INFO] [stdout] 279 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h265.rs:284:13 [INFO] [stdout] | [INFO] [stdout] 284 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 279 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 280 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 283 | })?; [INFO] [stdout] 284 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/rtp_h265.rs:348:16 [INFO] [stdout] | [INFO] [stdout] 348 | if let Some(f) = &self.on_frame_handler { [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/rtp/rtp_h265.rs:353:13 [INFO] [stdout] | [INFO] [stdout] 353 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 348 ~ match &self.on_frame_handler { Some(f) => { [INFO] [stdout] 349 | f(FrameData::Video { [INFO] [stdout] ... [INFO] [stdout] 352 | })?; [INFO] [stdout] 353 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/utils.rs:144:16 [INFO] [stdout] | [INFO] [stdout] 144 | if let Some(first_pos) = find_start_code(&nalus[..]) { [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/rtp/utils.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | } 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] 144 ~ match find_start_code(&nalus[..]) { Some(first_pos) => { [INFO] [stdout] 145 | let mut nalu_with_start_code = [INFO] [stdout] ... [INFO] [stdout] 161 | println!("nalu: {:?}", nalu.to_vec()); [INFO] [stdout] 162 ~ } _ => { [INFO] [stdout] 163 | break; [INFO] [stdout] 164 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtp/utils.rs:146:24 [INFO] [stdout] | [INFO] [stdout] 146 | if let Some(distance_to_first_pos) = find_start_code(&nalus[first_pos + 3..]) { [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/rtp/utils.rs:154:21 [INFO] [stdout] | [INFO] [stdout] 154 | } 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] 146 ~ match find_start_code(&nalus[first_pos + 3..]) { Some(distance_to_first_pos) => { [INFO] [stdout] 147 | let mut second_pos = first_pos + 3 + distance_to_first_pos; [INFO] [stdout] ... [INFO] [stdout] 153 | nalus.split_to(second_pos) [INFO] [stdout] 154 ~ } _ => { [INFO] [stdout] 155 | nalus.split_to(nalus.len()) [INFO] [stdout] 156 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp.rs:34:20 [INFO] [stdout] | [INFO] [stdout] 34 | if let Err(err) = session.run().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/rtsp.rs:68:17 [INFO] [stdout] | [INFO] [stdout] 68 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 34 ~ match session.run().await { Err(err) => { [INFO] [stdout] 35 | let session_id = if let Some(id) = session.session_id { [INFO] [stdout] ... [INFO] [stdout] 67 | } [INFO] [stdout] 68 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp.rs:35:41 [INFO] [stdout] | [INFO] [stdout] 35 | let session_id = if let Some(id) = session.session_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/rtsp.rs:37:21 [INFO] [stdout] | [INFO] [stdout] 37 | } 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] 35 ~ let session_id = match session.session_id { Some(id) => { [INFO] [stdout] 36 | id.to_string() [INFO] [stdout] 37 ~ } _ => { [INFO] [stdout] 38 | "none".to_string() [INFO] [stdout] 39 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 48 | if let Some(identifier) = session.stream_identifier.clone() { [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/rtsp.rs:66:25 [INFO] [stdout] | [INFO] [stdout] 66 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 48 ~ match session.stream_identifier.clone() { Some(identifier) => { [INFO] [stdout] 49 | match session.exit(identifier) { [INFO] [stdout] ... [INFO] [stdout] 65 | } [INFO] [stdout] 66 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:94:12 [INFO] [stdout] | [INFO] [stdout] 94 | if let Some(unpacker) = &mut self.rtp_unpacker { [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/rtsp_channel.rs:96:9 [INFO] [stdout] | [INFO] [stdout] 96 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 94 ~ match &mut self.rtp_unpacker { Some(unpacker) => { [INFO] [stdout] 95 | unpacker.on_frame_handler(f); [INFO] [stdout] 96 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 101 | if let Some(packer) = &mut self.rtp_packer { [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/rtsp_channel.rs:103:9 [INFO] [stdout] | [INFO] [stdout] 103 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 101 ~ match &mut self.rtp_packer { Some(packer) => { [INFO] [stdout] 102 | packer.on_packet_handler(f); [INFO] [stdout] 103 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:108:12 [INFO] [stdout] | [INFO] [stdout] 108 | if let Some(packer) = &mut self.rtp_packer { [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/rtsp_channel.rs:110:9 [INFO] [stdout] | [INFO] [stdout] 110 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 108 ~ match &mut self.rtp_packer { Some(packer) => { [INFO] [stdout] 109 | packer.on_packet_for_rtcp_handler(f); [INFO] [stdout] 110 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 173 | if let Ok(rtcp_header) = RtcpHeader::unmarshal(&mut reader_clone) { [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/rtsp_channel.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 173 ~ match RtcpHeader::unmarshal(&mut reader_clone) { Ok(rtcp_header) => { [INFO] [stdout] 174 | match rtcp_header.payload_type { [INFO] [stdout] ... [INFO] [stdout] 185 | } [INFO] [stdout] 186 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:176:24 [INFO] [stdout] | [INFO] [stdout] 176 | if let Ok(sr) = RtcpSenderReport::unmarshal(reader) { [INFO] [stdout] | ^^^^^^^^^^^^^----------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:181:21 [INFO] [stdout] | [INFO] [stdout] 181 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 176 ~ match RtcpSenderReport::unmarshal(reader) { Ok(sr) => { [INFO] [stdout] 177 | self.recv_ctx.received_sr(&sr); [INFO] [stdout] ... [INFO] [stdout] 180 | } [INFO] [stdout] 181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_channel.rs:178:28 [INFO] [stdout] | [INFO] [stdout] 178 | if let Err(err) = self.send_rr(rtcp_io).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/rtsp_channel.rs:180:25 [INFO] [stdout] | [INFO] [stdout] 180 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 178 ~ match self.send_rr(rtcp_io).await { Err(err) => { [INFO] [stdout] 179 | log::error!("send rr error: {}", err); [INFO] [stdout] 180 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rtsp_track.rs:67:28 [INFO] [stdout] | [INFO] [stdout] 67 | if let Err(err) = rtp_channel_in.on_packet(&mut reader).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/rtsp_track.rs:69:25 [INFO] [stdout] | [INFO] [stdout] 69 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 67 ~ match rtp_channel_in.on_packet(&mut reader).await { Err(err) => { [INFO] [stdout] 68 | log::error!("rtp_receive_loop on_packet error: {}", err); [INFO] [stdout] 69 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/mod.rs:236:24 [INFO] [stdout] | [INFO] [stdout] 236 | if let Some(sdp_media) = SdpMediaInfo::unmarshal(kv[1]) { [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/sdp/mod.rs:238:21 [INFO] [stdout] | [INFO] [stdout] 238 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 236 ~ match SdpMediaInfo::unmarshal(kv[1]) { Some(sdp_media) => { [INFO] [stdout] 237 | sdp.medias.push(sdp_media); [INFO] [stdout] 238 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/mod.rs:241:24 [INFO] [stdout] | [INFO] [stdout] 241 | if let Some(cur_media) = sdp.medias.last_mut() { [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/sdp/mod.rs:243:21 [INFO] [stdout] | [INFO] [stdout] 243 | } 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] 241 ~ match sdp.medias.last_mut() { Some(cur_media) => { [INFO] [stdout] 242 | cur_media.bandwidth = Some(Bandwidth::unmarshal(kv[1]).unwrap()); [INFO] [stdout] 243 ~ } _ => { [INFO] [stdout] 244 | continue; [INFO] [stdout] 245 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/mod.rs:260:24 [INFO] [stdout] | [INFO] [stdout] 260 | if let Some(cur_media) = sdp.medias.last_mut() { [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/sdp/mod.rs:280:21 [INFO] [stdout] | [INFO] [stdout] 280 | } 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] 260 ~ match sdp.medias.last_mut() { Some(cur_media) => { [INFO] [stdout] 261 | if attribute.len() == 2 { [INFO] [stdout] ... [INFO] [stdout] 279 | .insert(attr_name.to_string(), attr_value.to_string()); [INFO] [stdout] 280 ~ } _ => { [INFO] [stdout] 281 | sdp.attributes [INFO] [stdout] 282 | .insert(attr_name.to_string(), attr_value.to_string()); [INFO] [stdout] 283 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/fmtp.rs:43:20 [INFO] [stdout] | [INFO] [stdout] 43 | if let Some(h264_fmtp) = H264Fmtp::unmarshal(raw_data) { [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/sdp/fmtp.rs:45:17 [INFO] [stdout] | [INFO] [stdout] 45 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 43 ~ match H264Fmtp::unmarshal(raw_data) { Some(h264_fmtp) => { [INFO] [stdout] 44 | return Some(Fmtp::H264(h264_fmtp)); [INFO] [stdout] 45 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/fmtp.rs:48:20 [INFO] [stdout] | [INFO] [stdout] 48 | if let Some(h265_fmtp) = H265Fmtp::unmarshal(raw_data) { [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/sdp/fmtp.rs:50:17 [INFO] [stdout] | [INFO] [stdout] 50 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 48 ~ match H265Fmtp::unmarshal(raw_data) { Some(h265_fmtp) => { [INFO] [stdout] 49 | return Some(Fmtp::H265(h265_fmtp)); [INFO] [stdout] 50 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/fmtp.rs:53:20 [INFO] [stdout] | [INFO] [stdout] 53 | if let Some(mpeg4_fmtp) = Mpeg4Fmtp::unmarshal(raw_data) { [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/sdp/fmtp.rs:55:17 [INFO] [stdout] | [INFO] [stdout] 55 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 53 ~ match Mpeg4Fmtp::unmarshal(raw_data) { Some(mpeg4_fmtp) => { [INFO] [stdout] 54 | return Some(Fmtp::Mpeg4(mpeg4_fmtp)); [INFO] [stdout] 55 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/sdp/mod.rs:373:12 [INFO] [stdout] | [INFO] [stdout] 373 | if let Some(sdp) = Sdp::unmarshal(data2) { [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/sdp/mod.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 377 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 373 ~ match Sdp::unmarshal(data2) { Some(sdp) => { [INFO] [stdout] 374 | println!("sdp : {sdp:?}"); [INFO] [stdout] 375 | [INFO] [stdout] 376 | println!("sdp str : {}", sdp.marshal()); [INFO] [stdout] 377 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:142:16 [INFO] [stdout] | [INFO] [stdout] 142 | if let Ok(Some(a)) = InterleavedBinaryData::new(&mut self.reader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | } [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 InterleavedBinaryData::new(&mut self.reader) { Ok(Some(a)) => { [INFO] [stdout] 143 | if self.reader.len() < a.length as usize { [INFO] [stdout] ... [INFO] [stdout] 148 | .await?; [INFO] [stdout] 149 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:209:36 [INFO] [stdout] | [INFO] [stdout] 209 | let media_control = if let Some(media_control_val) = media.attributes.get("control") { [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/client_session.rs:211:13 [INFO] [stdout] | [INFO] [stdout] 211 | } 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] 209 ~ let media_control = match media.attributes.get("control") { Some(media_control_val) => { [INFO] [stdout] 210 | media_control_val.clone() [INFO] [stdout] 211 ~ } _ => { [INFO] [stdout] 212 | log::error!("cannot get media control!!"); [INFO] [stdout] 213 | String::from("") [INFO] [stdout] 214 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:242:28 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(track) = self.tracks.get_mut(&TrackType::Audio) { [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/client_session.rs:244:25 [INFO] [stdout] | [INFO] [stdout] 244 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 242 ~ match self.tracks.get_mut(&TrackType::Audio) { Some(track) => { [INFO] [stdout] 243 | track.transport.interleaved = media_transport.interleaved; [INFO] [stdout] 244 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:246:28 [INFO] [stdout] | [INFO] [stdout] 246 | if let Some(track) = self.tracks.get_mut(&TrackType::Video) { [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/client_session.rs:248:25 [INFO] [stdout] | [INFO] [stdout] 248 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 246 ~ match self.tracks.get_mut(&TrackType::Video) { Some(track) => { [INFO] [stdout] 247 | track.transport.interleaved = media_transport.interleaved; [INFO] [stdout] 248 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:252:24 [INFO] [stdout] | [INFO] [stdout] 252 | if let Some((socket_rtp, socket_rtcp)) = new_udpio_pair().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/client_session.rs:288:21 [INFO] [stdout] | [INFO] [stdout] 288 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 252 ~ match new_udpio_pair().await { Some((socket_rtp, socket_rtcp)) => { [INFO] [stdout] 253 | let media_transport = RtspTransport { [INFO] [stdout] ... [INFO] [stdout] 287 | } [INFO] [stdout] 288 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:268:32 [INFO] [stdout] | [INFO] [stdout] 268 | ... if let Some(track) = self.tracks.get_mut(&TrackType::Audio) { [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/client_session.rs:276:29 [INFO] [stdout] | [INFO] [stdout] 276 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 268 ~ match self.tracks.get_mut(&TrackType::Audio) { Some(track) => { [INFO] [stdout] 269 | let box_rtp_io: Box = [INFO] [stdout] ... [INFO] [stdout] 275 | track.rtcp_receive_loop(box_rtcp_io).await; [INFO] [stdout] 276 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:278:32 [INFO] [stdout] | [INFO] [stdout] 278 | ... if let Some(track) = self.tracks.get_mut(&TrackType::Video) { [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/client_session.rs:286:29 [INFO] [stdout] | [INFO] [stdout] 286 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 278 ~ match self.tracks.get_mut(&TrackType::Video) { Some(track) => { [INFO] [stdout] 279 | let box_rtp_io: Box = [INFO] [stdout] ... [INFO] [stdout] 285 | track.rtcp_receive_loop(box_rtcp_io).await; [INFO] [stdout] 286 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:457:16 [INFO] [stdout] | [INFO] [stdout] 457 | if let Some(rtsp_response_data) = RtspResponse::unmarshal(std::str::from_utf8(&data)?) { [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/client_session.rs:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | } 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] 457 ~ match RtspResponse::unmarshal(std::str::from_utf8(&data)?) { Some(rtsp_response_data) => { [INFO] [stdout] 458 | // TCP packet sticking issue, if have content_length in header. [INFO] [stdout] ... [INFO] [stdout] 483 | break; [INFO] [stdout] 484 ~ } _ => { [INFO] [stdout] 485 | log::error!("corrupted rtsp message={}", std::str::from_utf8(&data)?); [INFO] [stdout] 486 | return Ok(()); [INFO] [stdout] 487 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:499:20 [INFO] [stdout] | [INFO] [stdout] 499 | if let Some(public) = rtsp_response.get_header(&"Public".to_string()) { [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/client_session.rs:501:17 [INFO] [stdout] | [INFO] [stdout] 501 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 499 ~ match rtsp_response.get_header(&"Public".to_string()) { Some(public) => { [INFO] [stdout] 500 | log::info!("support methods: {}", public); [INFO] [stdout] 501 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:505:20 [INFO] [stdout] | [INFO] [stdout] 505 | if let Some(request_body) = &rtsp_response.body { [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/client_session.rs:556:17 [INFO] [stdout] | [INFO] [stdout] 556 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 505 ~ match &rtsp_response.body { Some(request_body) => { [INFO] [stdout] 506 | if let Some(sdp) = Sdp::unmarshal(request_body) { [INFO] [stdout] ... [INFO] [stdout] 555 | } [INFO] [stdout] 556 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:506:24 [INFO] [stdout] | [INFO] [stdout] 506 | if let Some(sdp) = Sdp::unmarshal(request_body) { [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/client_session.rs:555:21 [INFO] [stdout] | [INFO] [stdout] 555 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 506 ~ match Sdp::unmarshal(request_body) { Some(sdp) => { [INFO] [stdout] 507 | self.sdp = sdp.clone(); [INFO] [stdout] ... [INFO] [stdout] 554 | } [INFO] [stdout] 555 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:560:24 [INFO] [stdout] | [INFO] [stdout] 560 | if let Some(session_id) = rtsp_response.get_header(&"Session".to_string()) { [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/client_session.rs:562:21 [INFO] [stdout] | [INFO] [stdout] 562 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 560 ~ match rtsp_response.get_header(&"Session".to_string()) { Some(session_id) => { [INFO] [stdout] 561 | self.session_id = Uuid::from_str2(session_id); [INFO] [stdout] 562 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/client_session.rs:565:20 [INFO] [stdout] | [INFO] [stdout] 565 | if let Some(transport_str) = rtsp_response.get_header(&"Transport".to_string()) { [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/client_session.rs:567:17 [INFO] [stdout] | [INFO] [stdout] 567 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 565 ~ match rtsp_response.get_header(&"Transport".to_string()) { Some(transport_str) => { [INFO] [stdout] 566 | log::info!("setup response: transport {}", transport_str); [INFO] [stdout] 567 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:159:16 [INFO] [stdout] | [INFO] [stdout] 159 | if let Ok(data) = InterleavedBinaryData::new(&mut self.reader) { [INFO] [stdout] | ^^^^^^^^^^^^^^^-------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:173:13 [INFO] [stdout] | [INFO] [stdout] 173 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 159 ~ match InterleavedBinaryData::new(&mut self.reader) { Ok(data) => { [INFO] [stdout] 160 | match data { [INFO] [stdout] ... [INFO] [stdout] 172 | } [INFO] [stdout] 173 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:207:16 [INFO] [stdout] | [INFO] [stdout] 207 | if let Some(rtsp_request_data) = RtspRequest::unmarshal(std::str::from_utf8(&data)?) { [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/server_session.rs:233:13 [INFO] [stdout] | [INFO] [stdout] 233 | } 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 RtspRequest::unmarshal(std::str::from_utf8(&data)?) { Some(rtsp_request_data) => { [INFO] [stdout] 208 | // TCP packet sticking issue, if have content_length in header. [INFO] [stdout] ... [INFO] [stdout] 232 | self.reader.extract_remaining_bytes(); [INFO] [stdout] 233 ~ } _ => { [INFO] [stdout] 234 | log::error!("corrupted rtsp message={}", std::str::from_utf8(&data)?); [INFO] [stdout] 235 | return Ok(()); [INFO] [stdout] 236 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:254:20 [INFO] [stdout] | [INFO] [stdout] 254 | if let Err(err) = self.handle_play(&rtsp_request).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/server_session.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 254 ~ match self.handle_play(&rtsp_request).await { Err(err) => { [INFO] [stdout] 255 | log::info!("handle_play error: {}", err); [INFO] [stdout] 256 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:305:16 [INFO] [stdout] | [INFO] [stdout] 305 | if let Some(sdp) = Sdp::unmarshal(&data) { [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/server_session.rs:309:13 [INFO] [stdout] | [INFO] [stdout] 309 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 305 ~ match Sdp::unmarshal(&data) { Some(sdp) => { [INFO] [stdout] 306 | self.sdp = sdp; [INFO] [stdout] 307 | //it can new tracks when get the sdp information; [INFO] [stdout] 308 | self.new_tracks()?; [INFO] [stdout] 309 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:338:16 [INFO] [stdout] | [INFO] [stdout] 338 | if let Some(sdp) = Sdp::unmarshal(request_body) { [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/server_session.rs:341:13 [INFO] [stdout] | [INFO] [stdout] 341 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 338 ~ match Sdp::unmarshal(request_body) { Some(sdp) => { [INFO] [stdout] 339 | self.sdp = sdp.clone(); [INFO] [stdout] 340 | self.stream_handler.set_sdp(sdp).await; [INFO] [stdout] 341 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:444:32 [INFO] [stdout] | [INFO] [stdout] 444 | ... if let Some(rtcp_io) = [INFO] [stdout] | ___________________________^ [INFO] [stdout] 445 | |/ ... UdpIO::new(address.clone(), rtcp_port, rtp_server_port.unwrap() + 1) [INFO] [stdout] 446 | || ... .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/server_session.rs:452:29 [INFO] [stdout] | [INFO] [stdout] 452 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 444 ~ match UdpIO::new(address.clone(), rtcp_port, rtp_server_port.unwrap() + 1) [INFO] [stdout] 445 | .await [INFO] [stdout] 446 ~ { Some(rtcp_io) => { [INFO] [stdout] 447 | rtcp_server_port = rtcp_io.get_local_port(); [INFO] [stdout] ... [INFO] [stdout] 450 | track.rtcp_receive_loop(box_rtcp_io).await; [INFO] [stdout] 451 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:571:16 [INFO] [stdout] | [INFO] [stdout] 571 | if let Some(frame_data) = receiver.recv().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/server_session.rs:601:13 [INFO] [stdout] | [INFO] [stdout] 601 | } 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] 571 ~ match receiver.recv().await { Some(frame_data) => { [INFO] [stdout] 572 | match frame_data { [INFO] [stdout] ... [INFO] [stdout] 600 | } [INFO] [stdout] 601 ~ } _ => { [INFO] [stdout] 602 | retry_times += 1; [INFO] [stdout] ... [INFO] [stdout] 612 | } [INFO] [stdout] 613 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:577:28 [INFO] [stdout] | [INFO] [stdout] 577 | if let Some(audio_track) = self.tracks.get_mut(&TrackType::Audio) { [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/server_session.rs:584:25 [INFO] [stdout] | [INFO] [stdout] 584 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 577 ~ match self.tracks.get_mut(&TrackType::Audio) { Some(audio_track) => { [INFO] [stdout] 578 | audio_track [INFO] [stdout] ... [INFO] [stdout] 583 | .await?; [INFO] [stdout] 584 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:590:28 [INFO] [stdout] | [INFO] [stdout] 590 | if let Some(video_track) = self.tracks.get_mut(&TrackType::Video) { [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/server_session.rs:597:25 [INFO] [stdout] | [INFO] [stdout] 597 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 590 ~ match self.tracks.get_mut(&TrackType::Video) { Some(video_track) => { [INFO] [stdout] 591 | video_track [INFO] [stdout] ... [INFO] [stdout] 596 | .await?; [INFO] [stdout] 597 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:834:24 [INFO] [stdout] | [INFO] [stdout] 834 | if let Some(fmtp) = &media.fmtp { [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/server_session.rs:882:21 [INFO] [stdout] | [INFO] [stdout] 882 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 834 ~ match &media.fmtp { Some(fmtp) => { [INFO] [stdout] 835 | match fmtp { [INFO] [stdout] ... [INFO] [stdout] 881 | } [INFO] [stdout] 882 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:885:20 [INFO] [stdout] | [INFO] [stdout] 885 | if let Err(err) = sender.send(FrameData::MediaInfo { [INFO] [stdout] | ____________________^ - [INFO] [stdout] | |___________________________________| [INFO] [stdout] 886 | || media_info: MediaInfo { [INFO] [stdout] 887 | || audio_clock_rate, [INFO] [stdout] 888 | || video_clock_rate, [INFO] [stdout] ... || [INFO] [stdout] 891 | || }, [INFO] [stdout] 892 | || }) { [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/session/server_session.rs:894:17 [INFO] [stdout] | [INFO] [stdout] 894 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 885 ~ match sender.send(FrameData::MediaInfo { [INFO] [stdout] 886 | media_info: MediaInfo { [INFO] [stdout] ... [INFO] [stdout] 891 | }, [INFO] [stdout] 892 ~ }) { Err(err) => { [INFO] [stdout] 893 | log::error!("send media info error: {}", err); [INFO] [stdout] 894 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/session/server_session.rs:907:12 [INFO] [stdout] | [INFO] [stdout] 907 | if let Err(err) = sender.send(Information::Sdp { [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] 908 | | data: self.sdp.lock().await.marshal(), [INFO] [stdout] 909 | | }) { [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/session/server_session.rs:911:9 [INFO] [stdout] | [INFO] [stdout] 911 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 907 ~ match sender.send(Information::Sdp { [INFO] [stdout] 908 | data: self.sdp.lock().await.marshal(), [INFO] [stdout] 909 ~ }) { Err(err) => { [INFO] [stdout] 910 | log::error!("send_information of rtsp error: {}", err); [INFO] [stdout] 911 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 58 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 43.07s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking xrtsp v0.3.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/rtsp_channel.rs:59:44 [INFO] [stdout] | [INFO] [stdout] 59 | let ssrc: u32 = rand::thread_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] 59 | let ssrc: u32 = rand::thread_rng().r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/rtsp_channel.rs:59:44 [INFO] [stdout] | [INFO] [stdout] 59 | let ssrc: u32 = rand::thread_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] 59 | let ssrc: u32 = rand::thread_rng().r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead [INFO] [stdout] --> src/rtsp_range.rs:43:30 [INFO] [stdout] | [INFO] [stdout] 43 | datetime.timestamp() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated method `chrono::NaiveDateTime::timestamp`: use `.and_utc().timestamp()` instead [INFO] [stdout] --> src/rtsp_range.rs:43:30 [INFO] [stdout] | [INFO] [stdout] 43 | datetime.timestamp() [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `xrtsp` (lib) due to 2 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `xrtsp` (lib test) due to 2 previous errors; 1 warning emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "f1fb2da69a2db4210a979efa7623b04e61cefdbdaf9aa3fd333d866bf0e170f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f1fb2da69a2db4210a979efa7623b04e61cefdbdaf9aa3fd333d866bf0e170f5", kill_on_drop: false }` [INFO] [stdout] f1fb2da69a2db4210a979efa7623b04e61cefdbdaf9aa3fd333d866bf0e170f5