[INFO] cloning repository https://github.com/Adeadlyi/Ai-chan [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Adeadlyi/Ai-chan" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdeadlyi%2FAi-chan", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdeadlyi%2FAi-chan'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 341f2d994295d1b88bb849d74893d62df610150c [INFO] checking Adeadlyi/Ai-chan/341f2d994295d1b88bb849d74893d62df610150c against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAdeadlyi%2FAi-chan" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Adeadlyi/Ai-chan 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 git repo https://github.com/Adeadlyi/Ai-chan [INFO] finished tweaking git repo https://github.com/Adeadlyi/Ai-chan [INFO] tweaked toml for git repo https://github.com/Adeadlyi/Ai-chan written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Adeadlyi/Ai-chan already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 48007efaae1e860dc35a6b8c6dc9c7712d74becaf3c7942a17ea02672cd8f122 [INFO] running `Command { std: "docker" "start" "-a" "48007efaae1e860dc35a6b8c6dc9c7712d74becaf3c7942a17ea02672cd8f122", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "48007efaae1e860dc35a6b8c6dc9c7712d74becaf3c7942a17ea02672cd8f122", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "48007efaae1e860dc35a6b8c6dc9c7712d74becaf3c7942a17ea02672cd8f122", kill_on_drop: false }` [INFO] [stdout] 48007efaae1e860dc35a6b8c6dc9c7712d74becaf3c7942a17ea02672cd8f122 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 54017f08b28a25b276b9e0119f69f99163fa93ae192a5d30ab0343a5732b47f3 [INFO] running `Command { std: "docker" "start" "-a" "54017f08b28a25b276b9e0119f69f99163fa93ae192a5d30ab0343a5732b47f3", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling serde v1.0.203 [INFO] [stderr] Compiling cc v1.0.104 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling syn v2.0.68 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling ppv-lite86 v0.2.17 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking rustls-pki-types v1.7.0 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Compiling wayland-sys v0.31.2 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Checking libloading v0.8.4 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling wayland-backend v0.3.4 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking parking_lot_core v0.9.10 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling phf_shared v0.11.2 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling serde_json v1.0.120 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Checking http-body v1.0.0 [INFO] [stderr] Compiling wayland-client v0.31.3 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Compiling rustls v0.23.10 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking tinyvec v1.6.1 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Compiling phf_codegen v0.11.2 [INFO] [stderr] Compiling string_cache_codegen v0.5.2 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Compiling quick-xml v0.31.0 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking futf v0.1.5 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Compiling wayland-scanner v0.31.2 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking signal-hook-mio v0.2.3 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Compiling markup5ever v0.12.1 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Checking rustls-pemfile v2.1.2 [INFO] [stderr] Compiling onig_sys v69.8.1 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking tendril v0.4.3 [INFO] [stderr] Checking rustls-native-certs v0.7.0 [INFO] [stderr] Checking phf v0.11.2 [INFO] [stderr] Checking anstyle-parse v0.2.4 [INFO] [stderr] Checking is-terminal v0.4.12 [INFO] [stderr] Checking rustls-webpki v0.102.4 [INFO] [stderr] Checking webpki-roots v0.26.3 [INFO] [stderr] Compiling vte_generate_state_changes v0.1.2 [INFO] [stderr] Checking is_terminal_polyfill v1.70.0 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking anstyle v1.0.7 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking colorchoice v1.0.1 [INFO] [stderr] Checking anstyle-query v1.1.0 [INFO] [stderr] Checking regex v1.10.5 [INFO] [stderr] Checking fastrand v2.1.0 [INFO] [stderr] Checking vsimd v0.8.0 [INFO] [stderr] Checking outref v0.5.1 [INFO] [stderr] Checking anstream v0.6.14 [INFO] [stderr] Checking vte v0.11.1 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Compiling serde_derive v1.0.203 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling tokio-macros v2.3.0 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Checking tokio v1.38.0 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling html5ever v0.27.0 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Compiling enum-as-inner v0.6.0 [INFO] [stderr] Checking base64-simd v0.8.0 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Compiling derive-new v0.6.0 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking url v2.5.2 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking os_pipe v1.2.0 [INFO] [stderr] Checking cpu-time v1.0.0 [INFO] [stderr] Checking bytes-utils v0.1.4 [INFO] [stderr] Checking quick-xml v0.32.0 [INFO] [stderr] Checking combine v4.6.7 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking clap_lex v0.7.1 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking bytemuck v1.16.1 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking clap_builder v4.5.8 [INFO] [stderr] Checking rgb v0.8.40 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking fuzzy-matcher v0.3.7 [INFO] [stderr] Checking anndists v0.1.2 [INFO] [stderr] Checking tokio-util v0.7.11 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking tokio-rustls v0.26.0 [INFO] [stderr] Checking tokio-socks v0.5.1 [INFO] [stderr] Checking aws-smithy-types v1.2.0 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking onig v6.4.0 [INFO] [stderr] Checking strip-ansi-escapes v0.2.0 [INFO] [stderr] Compiling clap_derive v4.5.8 [INFO] [stderr] Checking flate2 v1.0.30 [INFO] [stderr] Checking newline-converter v0.3.0 [INFO] [stderr] Checking eventsource-stream v0.2.3 [INFO] [stderr] Checking crossterm v0.25.0 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking itertools v0.12.1 [INFO] [stderr] Checking path-dedot v3.1.1 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking indexmap v2.2.6 [INFO] [stderr] Checking string_cache v0.8.7 [INFO] [stderr] Checking h2 v0.4.5 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking sysctl v0.5.5 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking mmap-rs v0.6.1 [INFO] [stderr] Checking plist v1.7.0 [INFO] [stderr] Checking jsonptr v0.4.7 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking smawk v0.3.2 [INFO] [stderr] Checking nu-ansi-term v0.50.0 [INFO] [stderr] Checking cpufeatures v0.2.12 [INFO] [stderr] Checking dyn-clone v1.0.17 [INFO] [stderr] Checking unicode-linebreak v0.1.5 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking inquire v0.7.5 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking textwrap v0.16.1 [INFO] [stderr] Checking tree_magic_mini v3.1.5 [INFO] [stderr] Checking syntect v5.2.0 [INFO] [stderr] Checking html2text v0.12.5 [INFO] [stderr] Checking hnsw_rs v0.3.0 [INFO] [stderr] Checking hyper v1.4.0 [INFO] [stderr] Checking json-patch v2.0.0 [INFO] [stderr] Checking clap v4.5.8 [INFO] [stderr] Checking path-absolutize v3.1.1 [INFO] [stderr] Checking aws-smithy-eventstream v0.60.4 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking tokio-graceful v0.1.6 [INFO] [stderr] Checking ansi_colours v1.2.2 [INFO] [stderr] Checking fancy-regex v0.13.0 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking tempfile v3.10.1 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking fd-lock v4.0.2 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Checking reedline v0.32.0 [INFO] [stderr] Compiling async-trait v0.1.80 [INFO] [stderr] Checking simplelog v0.12.2 [INFO] [stderr] Checking uuid v1.9.1 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking hyper-util v0.1.6 [INFO] [stderr] Checking shell-words v1.1.0 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Checking hyper-rustls v0.27.2 [INFO] [stderr] Checking reqwest v0.12.5 [INFO] [stderr] Checking wayland-protocols v0.31.2 [INFO] [stderr] Checking reqwest-eventsource v0.6.0 [INFO] [stderr] Checking wayland-protocols-wlr v0.2.0 [INFO] [stderr] Checking wl-clipboard-rs v0.8.1 [INFO] [stderr] Checking arboard v3.4.0 [INFO] [stderr] Checking aichat v0.19.0 (/tmp/fixit) [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `aichat` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/client/common.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/client/common.rs:316:6 [INFO] [stderr] | [INFO] [stderr] 316 | ($name:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 1 previous error [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client/common.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 316 | ($name:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 316 | ($name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/config/mod.rs:1646:13 [INFO] [stdout] | [INFO] [stdout] 1646 | std::env::set_var(key.trim(), value.trim()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 1646 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1647 ~ unsafe { std::env::set_var(key.trim(), value.trim()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:473:12 [INFO] [stdout] | [INFO] [stdout] 473 | if let Ok(regex) = Regex::new(&format!("^({key})$")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | } [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] 473 ~ match Regex::new(&format!("^({key})$")) { Ok(regex) => { [INFO] [stdout] 474 | if let Ok(true) = regex.is_match(name) { [INFO] [stdout] 475 | return Some(patch_data); [INFO] [stdout] 476 | } [INFO] [stdout] 477 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:474:16 [INFO] [stdout] | [INFO] [stdout] 474 | if let Ok(true) = regex.is_match(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:476:13 [INFO] [stdout] | [INFO] [stdout] 476 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 474 ~ match regex.is_match(name) { Ok(true) => { [INFO] [stdout] 475 | return Some(patch_data); [INFO] [stdout] 476 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:649:8 [INFO] [stdout] | [INFO] [stdout] 649 | if let Some(error) = data["error"].as_object() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 656 | } else if let Some(error) = data["errors"][0].as_object() { [INFO] [stdout] | ----------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 663 | } else if let Some(error) = data[0]["error"].as_object() { [INFO] [stdout] | ---------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 670 | } else if let (Some(detail), Some(status)) = (data["detail"].as_str(), data["status"].as_i64()) [INFO] [stdout] | -------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 673 | } else if let Some(error) = data["error"].as_str() { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 674 | bail!("{error}"); [INFO] [stdout] 675 | } else if let Some(message) = data["message"].as_str() { [INFO] [stdout] | --------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:656:5 [INFO] [stdout] | [INFO] [stdout] 656 | } else if let Some(error) = data["errors"][0].as_object() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:663:5 [INFO] [stdout] | [INFO] [stdout] 663 | } else if let Some(error) = data[0]["error"].as_object() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:670:5 [INFO] [stdout] | [INFO] [stdout] 670 | } else if let (Some(detail), Some(status)) = (data["detail"].as_str(), data["status"].as_i64()) [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:673:5 [INFO] [stdout] | [INFO] [stdout] 673 | } else if let Some(error) = data["error"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:675:5 [INFO] [stdout] | [INFO] [stdout] 675 | } else if let Some(message) = data["message"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:677:5 [INFO] [stdout] | [INFO] [stdout] 677 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 649 ~ match data["error"].as_object() { Some(error) => { [INFO] [stdout] 650 | if let (Some(typ), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 655 | } [INFO] [stdout] 656 ~ } _ => { match data["errors"][0].as_object() { Some(error) => { [INFO] [stdout] 657 | if let (Some(code), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 662 | } [INFO] [stdout] 663 ~ } _ => { match data[0]["error"].as_object() { Some(error) => { [INFO] [stdout] 664 | if let (Some(status), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 669 | } [INFO] [stdout] 670 ~ } _ => { match (data["detail"].as_str(), data["status"].as_i64()) [INFO] [stdout] 671 ~ { (Some(detail), Some(status)) => { [INFO] [stdout] 672 | bail!("{detail} (status: {status})"); [INFO] [stdout] 673 ~ } _ => { match data["error"].as_str() { Some(error) => { [INFO] [stdout] 674 | bail!("{error}"); [INFO] [stdout] 675 ~ } _ => { match data["message"].as_str() { Some(message) => { [INFO] [stdout] 676 | bail!("{message}"); [INFO] [stdout] 677 ~ } _ => {}}}}}}}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:689:8 [INFO] [stdout] | [INFO] [stdout] 689 | if let (Some(code), Some(message)) = (data["code"].as_str(), data["message"].as_str()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 693 | (data["error_code"].as_number(), data["error_msg"].as_str()) [INFO] [stdout] | ------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:692:5 [INFO] [stdout] | [INFO] [stdout] 692 | } else if let (Some(error_code), Some(error_msg)) = [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:697:5 [INFO] [stdout] | [INFO] [stdout] 697 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 689 ~ match (data["code"].as_str(), data["message"].as_str()) { (Some(code), Some(message)) => { [INFO] [stdout] 690 | debug!("Invalid response: {}", data); [INFO] [stdout] 691 | bail!("{message} (code: {code})"); [INFO] [stdout] 692 ~ } _ => { match (data["error_code"].as_number(), data["error_msg"].as_str()) [INFO] [stdout] 693 ~ { (Some(error_code), Some(error_msg)) => { [INFO] [stdout] 694 | debug!("Invalid response: {}", data); [INFO] [stdout] 695 | bail!("{error_msg} (error_code: {error_code})"); [INFO] [stdout] 696 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/message.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 151 | if let (Some(message), MessageContent::Text(system)) = [INFO] [stdout] | ____________^ [INFO] [stdout] 152 | | (messages.get_mut(0), system_message.content) [INFO] [stdout] | |_____________--------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/message.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 151 ~ match (messages.get_mut(0), system_message.content) [INFO] [stdout] 152 ~ { (Some(message), MessageContent::Text(system)) => { [INFO] [stdout] 153 | message.merge_system(&system); [INFO] [stdout] 154 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/stream.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | while let Some(event) = es.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/stream.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/stream.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | while let Some(chunk_bytes) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/stream.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if let Some(text) = data["choices"][0]["delta"]["content"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 109 | data["choices"][0]["delta"]["tool_calls"][0]["function"].as_object(), [INFO] [stdout] | -------------------------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/openai.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | } else if let (Some(function), index, id) = ( [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/openai.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match data["choices"][0]["delta"]["content"].as_str() { Some(text) => { [INFO] [stdout] 107 | handler.text(text)?; [INFO] [stdout] 108 ~ } _ => { match ( [INFO] [stdout] 109 | data["choices"][0]["delta"]["tool_calls"][0]["function"].as_object(), [INFO] [stdout] 110 | data["choices"][0]["delta"]["tool_calls"][0]["index"].as_u64(), [INFO] [stdout] 111 | data["choices"][0]["delta"]["tool_calls"][0]["id"].as_str(), [INFO] [stdout] 112 ~ ) { (Some(function), index, id) => { [INFO] [stdout] 113 | let index = index.unwrap_or_default(); [INFO] [stdout] ... [INFO] [stdout] 135 | } [INFO] [stdout] 136 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai.rs:258:20 [INFO] [stdout] | [INFO] [stdout] 258 | if let (Some(name), Some(arguments), Some(id)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 259 | | call["function"]["name"].as_str(), [INFO] [stdout] | | ------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 260 | | call["function"]["arguments"].as_str(), [INFO] [stdout] 261 | | call["id"].as_str(), [INFO] [stdout] 262 | | ) { [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/client/openai.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | } 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] 258 ~ match ( [INFO] [stdout] 259 | call["function"]["name"].as_str(), [INFO] [stdout] 260 | call["function"]["arguments"].as_str(), [INFO] [stdout] 261 | call["id"].as_str(), [INFO] [stdout] 262 ~ ) { (Some(name), Some(arguments), Some(id)) => { [INFO] [stdout] 263 | Some(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 267 | )) [INFO] [stdout] 268 ~ } _ => { [INFO] [stdout] 269 | None [INFO] [stdout] 270 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/rag_dedicated.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(data_obj) = data.as_object_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/client/rag_dedicated.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 126 ~ match data.as_object_mut() { Some(data_obj) => { [INFO] [stdout] 127 | if let Some(value) = data_obj.remove("data") { [INFO] [stdout] 128 | data_obj.insert("results".to_string(), value); [INFO] [stdout] 129 | } [INFO] [stdout] 130 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/rag_dedicated.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(value) = data_obj.remove("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/client/rag_dedicated.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 127 ~ match data_obj.remove("data") { Some(value) => { [INFO] [stdout] 128 | data_obj.insert("results".to_string(), value); [INFO] [stdout] 129 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:80:24 [INFO] [stdout] | [INFO] [stdout] 80 | if let (Some("tool_use"), Some(name), Some(id)) = ( [INFO] [stdout] | ________________________^ [INFO] [stdout] 81 | | data["content_block"]["type"].as_str(), [INFO] [stdout] | | ----------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 82 | | data["content_block"]["name"].as_str(), [INFO] [stdout] 83 | | data["content_block"]["id"].as_str(), [INFO] [stdout] 84 | | ) { [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/client/claude.rs:99:21 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 80 ~ match ( [INFO] [stdout] 81 | data["content_block"]["type"].as_str(), [INFO] [stdout] 82 | data["content_block"]["name"].as_str(), [INFO] [stdout] 83 | data["content_block"]["id"].as_str(), [INFO] [stdout] 84 ~ ) { (Some("tool_use"), Some(name), Some(id)) => { [INFO] [stdout] 85 | if !function_name.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 98 | function_id = id.into(); [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:102:24 [INFO] [stdout] | [INFO] [stdout] 102 | if let Some(text) = data["delta"]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 106 | data["delta"]["partial_json"].as_str(), [INFO] [stdout] | ----------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/claude.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | } else if let (true, Some(partial_json)) = ( [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/claude.rs:109:21 [INFO] [stdout] | [INFO] [stdout] 109 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match data["delta"]["text"].as_str() { Some(text) => { [INFO] [stdout] 103 | handler.text(text)?; [INFO] [stdout] 104 ~ } _ => { match ( [INFO] [stdout] 105 | !function_name.is_empty(), [INFO] [stdout] 106 | data["delta"]["partial_json"].as_str(), [INFO] [stdout] 107 ~ ) { (true, Some(partial_json)) => { [INFO] [stdout] 108 | function_arguments.push_str(partial_json); [INFO] [stdout] 109 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:282:20 [INFO] [stdout] | [INFO] [stdout] 282 | if let (Some(name), Some(input), Some(id)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 283 | | call["name"].as_str(), [INFO] [stdout] | | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 284 | | call.get("input"), [INFO] [stdout] 285 | | call["id"].as_str(), [INFO] [stdout] 286 | | ) { [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/client/claude.rs:292:17 [INFO] [stdout] | [INFO] [stdout] 292 | } 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] 282 ~ match ( [INFO] [stdout] 283 | call["name"].as_str(), [INFO] [stdout] 284 | call.get("input"), [INFO] [stdout] 285 | call["id"].as_str(), [INFO] [stdout] 286 ~ ) { (Some(name), Some(input), Some(id)) => { [INFO] [stdout] 287 | Some(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 291 | )) [INFO] [stdout] 292 ~ } _ => { [INFO] [stdout] 293 | None [INFO] [stdout] 294 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | if let Some("text-generation") = data["event_type"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 127 | } else if let Some("tool-calls-generation") = data["event_type"].as_str() { [INFO] [stdout] | ------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | } else if let Some("tool-calls-generation") = data["event_type"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 123 ~ match data["event_type"].as_str() { Some("text-generation") => { [INFO] [stdout] 124 | if let Some(text) = data["text"].as_str() { [INFO] [stdout] 125 | handler.text(text)?; [INFO] [stdout] 126 | } [INFO] [stdout] 127 ~ } _ => { match data["event_type"].as_str() { Some("tool-calls-generation") => { [INFO] [stdout] 128 | if let Some(tool_calls) = data["tool_calls"].as_array() { [INFO] [stdout] ... [INFO] [stdout] 140 | } [INFO] [stdout] 141 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:124:20 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(text) = data["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 124 ~ match data["text"].as_str() { Some(text) => { [INFO] [stdout] 125 | handler.text(text)?; [INFO] [stdout] 126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(tool_calls) = data["tool_calls"].as_array() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 128 ~ match data["tool_calls"].as_array() { Some(tool_calls) => { [INFO] [stdout] 129 | for call in tool_calls { [INFO] [stdout] ... [INFO] [stdout] 139 | } [INFO] [stdout] 140 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:130:28 [INFO] [stdout] | [INFO] [stdout] 130 | if let (Some(name), Some(args)) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 131 | | (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] | |______________________________------------_________________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 130 ~ match (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] 131 ~ { (Some(name), Some(args)) => { [INFO] [stdout] 132 | handler.tool_call(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 136 | ))?; [INFO] [stdout] 137 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(object) = body.as_object_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/client/cohere.rs:268:9 [INFO] [stdout] | [INFO] [stdout] 268 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 265 ~ match body.as_object_mut() { Some(object) => { [INFO] [stdout] 266 | object.remove("chat_history"); [INFO] [stdout] 267 | object.remove("message"); [INFO] [stdout] 268 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:305:20 [INFO] [stdout] | [INFO] [stdout] 305 | if let (Some(name), Some(parameters)) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 306 | | (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] | |______________________------------_________________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | } 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] 305 ~ match (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] 306 ~ { (Some(name), Some(parameters)) => { [INFO] [stdout] 307 | Some(ToolCall::new(name.to_string(), json!(parameters), None)) [INFO] [stdout] 308 ~ } _ => { [INFO] [stdout] 309 | None [INFO] [stdout] 310 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/ollama.rs:120:20 [INFO] [stdout] | [INFO] [stdout] 120 | if let Some(text) = data["message"]["content"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/ollama.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match data["message"]["content"].as_str() { Some(text) => { [INFO] [stdout] 121 | handler.text(text)?; [INFO] [stdout] 122 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(text) = data["candidates"][0]["content"]["parts"][0]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------------------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 153 | } else if let Some("SAFETY") = data["promptFeedback"]["blockReason"] [INFO] [stdout] | ------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 158 | } else if let Some(parts) = data["candidates"][0]["content"]["parts"].as_array() { [INFO] [stdout] | ----------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | } else if let Some("SAFETY") = data["promptFeedback"]["blockReason"] [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | } else if let Some(parts) = data["candidates"][0]["content"]["parts"].as_array() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ match data["candidates"][0]["content"]["parts"][0]["text"].as_str() { Some(text) => { [INFO] [stdout] 150 | if !text.is_empty() { [INFO] [stdout] 151 | handler.text(text)?; [INFO] [stdout] 152 | } [INFO] [stdout] 153 ~ } _ => { match data["promptFeedback"]["blockReason"] [INFO] [stdout] 154 | .as_str() [INFO] [stdout] 155 | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [INFO] [stdout] 156 ~ { Some("SAFETY") => { [INFO] [stdout] 157 | bail!("Content Blocked") [INFO] [stdout] 158 ~ } _ => { match data["candidates"][0]["content"]["parts"].as_array() { Some(parts) => { [INFO] [stdout] 159 | for part in parts { [INFO] [stdout] ... [INFO] [stdout] 166 | } [INFO] [stdout] 167 ~ } _ => {}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:160:24 [INFO] [stdout] | [INFO] [stdout] 160 | if let (Some(name), Some(args)) = ( [INFO] [stdout] | ________________________^ [INFO] [stdout] 161 | | part["functionCall"]["name"].as_str(), [INFO] [stdout] | | ---------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 162 | | part["functionCall"]["args"].as_object(), [INFO] [stdout] 163 | | ) { [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/client/vertexai.rs:165:21 [INFO] [stdout] | [INFO] [stdout] 165 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 160 ~ match ( [INFO] [stdout] 161 | part["functionCall"]["name"].as_str(), [INFO] [stdout] 162 | part["functionCall"]["args"].as_object(), [INFO] [stdout] 163 ~ ) { (Some(name), Some(args)) => { [INFO] [stdout] 164 | handler.tool_call(ToolCall::new(name.to_string(), json!(args), None))?; [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:218:20 [INFO] [stdout] | [INFO] [stdout] 218 | if let (Some(name), Some(args)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 219 | | part["functionCall"]["name"].as_str(), [INFO] [stdout] | | ---------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 220 | | part["functionCall"]["args"].as_object(), [INFO] [stdout] 221 | | ) { [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/client/vertexai.rs:223:17 [INFO] [stdout] | [INFO] [stdout] 223 | } 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] 218 ~ match ( [INFO] [stdout] 219 | part["functionCall"]["name"].as_str(), [INFO] [stdout] 220 | part["functionCall"]["args"].as_object(), [INFO] [stdout] 221 ~ ) { (Some(name), Some(args)) => { [INFO] [stdout] 222 | Some(ToolCall::new(name.to_string(), json!(args), None)) [INFO] [stdout] 223 ~ } _ => { [INFO] [stdout] 224 | None [INFO] [stdout] 225 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if let Some("SAFETY") = data["promptFeedback"]["blockReason"] [INFO] [stdout] | ^ ------------------------------------- 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] 231 | | .as_str() [INFO] [stdout] 232 | | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [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/client/vertexai.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 230 ~ match data["promptFeedback"]["blockReason"] [INFO] [stdout] 231 | .as_str() [INFO] [stdout] 232 | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [INFO] [stdout] 233 ~ { Some("SAFETY") => { [INFO] [stdout] 234 | bail!("Content Blocked") [INFO] [stdout] 235 ~ } _ => { [INFO] [stdout] 236 | bail!("Invalid response data: {data}"); [INFO] [stdout] 237 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:399:8 [INFO] [stdout] | [INFO] [stdout] 399 | if let (Some(access_token), Some(expires_in)) = [INFO] [stdout] | ________^ [INFO] [stdout] 400 | | (value["access_token"].as_str(), value["expires_in"].as_i64()) [INFO] [stdout] | |__________---------------------_______________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 403 | } else if let Some(err_msg) = value["error_description"].as_str() { [INFO] [stdout] | -------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:403:5 [INFO] [stdout] | [INFO] [stdout] 403 | } else if let Some(err_msg) = value["error_description"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:405:5 [INFO] [stdout] | [INFO] [stdout] 405 | } 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] 399 ~ match (value["access_token"].as_str(), value["expires_in"].as_i64()) [INFO] [stdout] 400 ~ { (Some(access_token), Some(expires_in)) => { [INFO] [stdout] 401 | Ok((access_token.to_string(), expires_in)) [INFO] [stdout] 402 ~ } _ => { match value["error_description"].as_str() { Some(err_msg) => { [INFO] [stdout] 403 | bail!("{err_msg}") [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | bail!("Invalid response data: {value}") [INFO] [stdout] 406 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:418:8 [INFO] [stdout] | [INFO] [stdout] 418 | if let (Some(client_id), Some(client_secret), Some(refresh_token)) = ( [INFO] [stdout] | ________^ [INFO] [stdout] 419 | | data["client_id"].as_str(), [INFO] [stdout] | | ----------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 420 | | data["client_secret"].as_str(), [INFO] [stdout] 421 | | data["refresh_token"].as_str(), [INFO] [stdout] 422 | | ) { [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/client/vertexai.rs:429:5 [INFO] [stdout] | [INFO] [stdout] 429 | } 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] 418 ~ match ( [INFO] [stdout] 419 | data["client_id"].as_str(), [INFO] [stdout] 420 | data["client_secret"].as_str(), [INFO] [stdout] 421 | data["refresh_token"].as_str(), [INFO] [stdout] 422 ~ ) { (Some(client_id), Some(client_secret), Some(refresh_token)) => { [INFO] [stdout] 423 | Ok(json!({ [INFO] [stdout] ... [INFO] [stdout] 428 | })) [INFO] [stdout] 429 ~ } _ => { [INFO] [stdout] 430 | bail!("Invalid application_default_credentials.json") [INFO] [stdout] 431 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:162:11 [INFO] [stdout] | [INFO] [stdout] 162 | while let Some(chunk) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:165:15 [INFO] [stdout] | [INFO] [stdout] 165 | while let DecodedFrame::Complete(message) = decoder.decode_frame(&mut buffer)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:177:32 [INFO] [stdout] | [INFO] [stdout] 177 | ... if let Some(typ) = data["type"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:183:29 [INFO] [stdout] | [INFO] [stdout] 183 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 177 ~ match data["type"].as_str() { Some(typ) => { [INFO] [stdout] 178 | if typ == "content_block_delta" { [INFO] [stdout] ... [INFO] [stdout] 182 | } [INFO] [stdout] 183 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:179:40 [INFO] [stdout] | [INFO] [stdout] 179 | ... if let Some(text) = data["delta"]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:181:37 [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] 179 ~ match data["delta"]["text"].as_str() { Some(text) => { [INFO] [stdout] 180 | handler.text(text)?; [INFO] [stdout] 181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | ... if let Some(text) = data["generation"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 186 ~ match data["generation"].as_str() { Some(text) => { [INFO] [stdout] 187 | handler.text(text)?; [INFO] [stdout] 188 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:191:32 [INFO] [stdout] | [INFO] [stdout] 191 | ... if let Some(text) = data["outputs"][0]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:193:29 [INFO] [stdout] | [INFO] [stdout] 193 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 191 ~ match data["outputs"][0]["text"].as_str() { Some(text) => { [INFO] [stdout] 192 | handler.text(text)?; [INFO] [stdout] 193 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | if let Some(function) = data["function_call"].as_object() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 193 | } else if let Some(text) = data["result"].as_str() { [INFO] [stdout] | -------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | } else if let Some(text) = data["result"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match data["function_call"].as_object() { Some(function) => { [INFO] [stdout] 184 | if let (Some(name), Some(arguments)) = ( [INFO] [stdout] ... [INFO] [stdout] 192 | } [INFO] [stdout] 193 ~ } _ => { match data["result"].as_str() { Some(text) => { [INFO] [stdout] 194 | handler.text(text)?; [INFO] [stdout] 195 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:331:12 [INFO] [stdout] | [INFO] [stdout] 331 | if let Some(err_msg) = value["error_description"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:333:9 [INFO] [stdout] | [INFO] [stdout] 333 | } 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] 331 ~ match value["error_description"].as_str() { Some(err_msg) => { [INFO] [stdout] 332 | anyhow!("{err_msg}") [INFO] [stdout] 333 ~ } _ => { [INFO] [stdout] 334 | anyhow!("Invalid response data") [INFO] [stdout] 335 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:171:19 [INFO] [stdout] | [INFO] [stdout] 171 | } else if let Some(text) = data["output"]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 171 ~ } else { match data["output"]["text"].as_str() { Some(text) => { [INFO] [stdout] 172 | if let Some(pos) = text.rfind("✿FUNCTION") { [INFO] [stdout] ... [INFO] [stdout] 188 | } [INFO] [stdout] 189 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 158 | if let Some(text) = data["output"]["choices"][0]["message"]["content"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match data["output"]["choices"][0]["message"]["content"].as_str() { Some(text) => { [INFO] [stdout] 159 | let delta_text = &text[prev_text.len()..]; [INFO] [stdout] 160 | prev_text = text.to_string(); [INFO] [stdout] 161 | handler.text(delta_text)?; [INFO] [stdout] 162 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:164:16 [INFO] [stdout] | [INFO] [stdout] 164 | if let Some(text) = [INFO] [stdout] | ________________^ [INFO] [stdout] 165 | | data["output"]["choices"][0]["message"]["content"][0]["text"].as_str() [INFO] [stdout] | |_________________-------------------------------------------------------------________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 164 ~ match data["output"]["choices"][0]["message"]["content"][0]["text"].as_str() [INFO] [stdout] 165 ~ { Some(text) => { [INFO] [stdout] 166 | let delta_text = &text[prev_text.len()..]; [INFO] [stdout] 167 | prev_text = text.to_string(); [INFO] [stdout] 168 | handler.text(delta_text)?; [INFO] [stdout] 169 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:392:12 [INFO] [stdout] | [INFO] [stdout] 392 | if let MessageContent::Array(list) = message.content.borrow_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/client/qianwen.rs:405:9 [INFO] [stdout] | [INFO] [stdout] 405 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 392 ~ match message.content.borrow_mut() { MessageContent::Array(list) => { [INFO] [stdout] 393 | for item in list { [INFO] [stdout] ... [INFO] [stdout] 404 | } [INFO] [stdout] 405 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:421:12 [INFO] [stdout] | [INFO] [stdout] 421 | if let Some(session) = self.session.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 422 | session.model() [INFO] [stdout] 423 | } else if let Some(agent) = self.agent.as_ref() { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:423:9 [INFO] [stdout] | [INFO] [stdout] 423 | } else if let Some(agent) = self.agent.as_ref() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | } else if let Some(role) = self.role.as_ref() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 421 ~ match self.session.as_ref() { Some(session) => { [INFO] [stdout] 422 | session.model() [INFO] [stdout] 423 ~ } _ => { match self.agent.as_ref() { Some(agent) => { [INFO] [stdout] 424 | agent.model() [INFO] [stdout] 425 ~ } _ => if let Some(role) = self.role.as_ref() { [INFO] [stdout] 426 | role.model() [INFO] [stdout] 427 | } else { [INFO] [stdout] 428 | &self.model [INFO] [stdout] 429 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:433:12 [INFO] [stdout] | [INFO] [stdout] 433 | if let Some(session) = self.session.as_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] 434 | Some(session) [INFO] [stdout] 435 | } else if let Some(agent) = self.agent.as_mut() { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | } else if let Some(agent) = self.agent.as_mut() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:437:9 [INFO] [stdout] | [INFO] [stdout] 437 | } else if let Some(role) = self.role.as_mut() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 433 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 434 | Some(session) [INFO] [stdout] 435 ~ } _ => { match self.agent.as_mut() { Some(agent) => { [INFO] [stdout] 436 | Some(agent) [INFO] [stdout] 437 ~ } _ => if let Some(role) = self.role.as_mut() { [INFO] [stdout] 438 | Some(role) [INFO] [stdout] 439 | } else { [INFO] [stdout] 440 | None [INFO] [stdout] 441 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:445:27 [INFO] [stdout] | [INFO] [stdout] 445 | let mut role = if let Some(session) = self.session.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 446 | session.to_role() [INFO] [stdout] 447 | } else if let Some(agent) = self.agent.as_ref() { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:447:9 [INFO] [stdout] | [INFO] [stdout] 447 | } else if let Some(agent) = self.agent.as_ref() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:449:9 [INFO] [stdout] | [INFO] [stdout] 449 | } else if let Some(role) = self.role.as_ref() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 445 ~ let mut role = match self.session.as_ref() { Some(session) => { [INFO] [stdout] 446 | session.to_role() [INFO] [stdout] 447 ~ } _ => { match self.agent.as_ref() { Some(agent) => { [INFO] [stdout] 448 | agent.to_role() [INFO] [stdout] 449 ~ } _ => if let Some(role) = self.role.as_ref() { [INFO] [stdout] 450 | role.clone() [INFO] [stdout] ... [INFO] [stdout] 454 | role [INFO] [stdout] 455 ~ }}}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:469:12 [INFO] [stdout] | [INFO] [stdout] 469 | if let Some(agent) = &self.agent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 482 | } else if let Some(session) = &self.session { [INFO] [stdout] | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 486 | } else if let Some(rag) = &self.rag { [INFO] [stdout] | -------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | } else if let Some(session) = &self.session { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 484 | } else if let Some(role) = &self.role { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:488:9 [INFO] [stdout] | [INFO] [stdout] 488 | } 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] 469 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 470 | let output = agent.export()?; [INFO] [stdout] ... [INFO] [stdout] 481 | } [INFO] [stdout] 482 ~ } _ => { match &self.session { Some(session) => { [INFO] [stdout] 483 | session.export() [INFO] [stdout] 484 ~ } _ => if let Some(role) = &self.role { [INFO] [stdout] 485 | role.export() [INFO] [stdout] 486 ~ } else { match &self.rag { Some(rag) => { [INFO] [stdout] 487 | rag.export() [INFO] [stdout] 488 ~ } _ => { [INFO] [stdout] 489 | self.sysinfo() [INFO] [stdout] 490 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:471:16 [INFO] [stdout] | [INFO] [stdout] 471 | if let Some(session) = &self.session { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:479:13 [INFO] [stdout] | [INFO] [stdout] 479 | } 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] 471 ~ match &self.session { Some(session) => { [INFO] [stdout] 472 | let session = session [INFO] [stdout] ... [INFO] [stdout] 478 | Ok(format!("{output}session:\n{session}")) [INFO] [stdout] 479 ~ } _ => { [INFO] [stdout] 480 | Ok(output) [INFO] [stdout] 481 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:582:20 [INFO] [stdout] | [INFO] [stdout] 582 | if let Some(value) = parse_value(value)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:584:17 [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] 582 ~ match parse_value(value)? { Some(value) => { [INFO] [stdout] 583 | self.rag_top_k = value; [INFO] [stdout] 584 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:644:12 [INFO] [stdout] | [INFO] [stdout] 644 | if let Some(session) = self.session.as_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/config/mod.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 646 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 644 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 645 | session.set_save_session(value); [INFO] [stdout] 646 ~ } _ => { [INFO] [stdout] 647 | self.save_session = value; [INFO] [stdout] 648 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:652:12 [INFO] [stdout] | [INFO] [stdout] 652 | if let Some(session) = self.session.as_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/config/mod.rs:654:9 [INFO] [stdout] | [INFO] [stdout] 654 | } 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] 652 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 653 | session.set_compress_threshold(value); [INFO] [stdout] 654 ~ } _ => { [INFO] [stdout] 655 | self.compress_threshold = value.unwrap_or_default(); [INFO] [stdout] 656 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:706:12 [INFO] [stdout] | [INFO] [stdout] 706 | if let Some(session) = self.session.as_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/config/mod.rs:709:9 [INFO] [stdout] | [INFO] [stdout] 709 | } 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] 706 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 707 | session.guard_empty()?; [INFO] [stdout] 708 | session.set_role(role); [INFO] [stdout] 709 ~ } _ => { [INFO] [stdout] 710 | self.role = Some(role); [INFO] [stdout] 711 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:785:20 [INFO] [stdout] | [INFO] [stdout] 785 | if let Some((input, output)) = &self.last_message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:796:17 [INFO] [stdout] | [INFO] [stdout] 796 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 785 ~ match &self.last_message { Some((input, output)) => { [INFO] [stdout] 786 | if self.agent.is_some() == input.with_agent() { [INFO] [stdout] ... [INFO] [stdout] 795 | } [INFO] [stdout] 796 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:804:12 [INFO] [stdout] | [INFO] [stdout] 804 | if let Some(session) = &self.session { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | } 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] 804 ~ match &self.session { Some(session) => { [INFO] [stdout] 805 | let render_options = self.render_options()?; [INFO] [stdout] 806 | let mut markdown_render = MarkdownRender::init(render_options)?; [INFO] [stdout] 807 | session.render(&mut markdown_render) [INFO] [stdout] 808 ~ } _ => { [INFO] [stdout] 809 | bail!("No session") [INFO] [stdout] 810 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:860:12 [INFO] [stdout] | [INFO] [stdout] 860 | if let Some(session) = self.session.as_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/config/mod.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | } 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] 860 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 861 | session.clear_messages(); [INFO] [stdout] 862 ~ } _ => { [INFO] [stdout] 863 | bail!("No session") [INFO] [stdout] 864 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:901:12 [INFO] [stdout] | [INFO] [stdout] 901 | if let Some(session) = self.session.as_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/config/mod.rs:904:9 [INFO] [stdout] | [INFO] [stdout] 904 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 901 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 902 | let summary_prompt = self.summary_prompt.as_deref().unwrap_or(SUMMARY_PROMPT); [INFO] [stdout] 903 | session.compress(format!("{}{}", summary_prompt, summary)); [INFO] [stdout] 904 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:969:12 [INFO] [stdout] | [INFO] [stdout] 969 | if let Some(rag) = &self.rag { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:971:9 [INFO] [stdout] | [INFO] [stdout] 971 | } 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] 969 ~ match &self.rag { Some(rag) => { [INFO] [stdout] 970 | rag.export() [INFO] [stdout] 971 ~ } _ => { [INFO] [stdout] 972 | bail!("No RAG") [INFO] [stdout] 973 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1038:12 [INFO] [stdout] | [INFO] [stdout] 1038 | if let Some(agent) = &self.agent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1040:9 [INFO] [stdout] | [INFO] [stdout] 1040 | } 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] 1038 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1039 | agent.export() [INFO] [stdout] 1040 ~ } _ => { [INFO] [stdout] 1041 | bail!("No agent") [INFO] [stdout] 1042 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1046:12 [INFO] [stdout] | [INFO] [stdout] 1046 | if let Some(agent) = &self.agent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1048:9 [INFO] [stdout] | [INFO] [stdout] 1048 | } 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] 1046 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1047 | Ok(agent.banner()) [INFO] [stdout] 1048 ~ } _ => { [INFO] [stdout] 1049 | bail!("No agent") [INFO] [stdout] 1050 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1122:31 [INFO] [stdout] | [INFO] [stdout] 1122 | } else if let Some(values) = self.mapping_tools.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1129:21 [INFO] [stdout] | [INFO] [stdout] 1129 | } else if declaration_names.contains(item) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1122 ~ } else { match self.mapping_tools.get(item) { Some(values) => { [INFO] [stdout] 1123 | tool_names.extend( [INFO] [stdout] ... [INFO] [stdout] 1128 | ) [INFO] [stdout] 1129 ~ } _ => if declaration_names.contains(item) { [INFO] [stdout] 1130 | tool_names.insert(item.to_string()); [INFO] [stdout] 1131 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1257:43 [INFO] [stdout] | [INFO] [stdout] 1257 | let save_session = if let Some(session) = &self.session { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1259:21 [INFO] [stdout] | [INFO] [stdout] 1259 | } 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] 1257 ~ let save_session = match &self.session { Some(session) => { [INFO] [stdout] 1258 | session.save_session() [INFO] [stdout] 1259 ~ } _ => { [INFO] [stdout] 1260 | self.save_session [INFO] [stdout] 1261 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1289:16 [INFO] [stdout] | [INFO] [stdout] 1289 | if let Some(agent) = &self.agent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1295:13 [INFO] [stdout] | [INFO] [stdout] 1295 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1289 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1290 | values = agent [INFO] [stdout] ... [INFO] [stdout] 1294 | .collect() [INFO] [stdout] 1295 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let Some(rag) = rag { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/input.rs:180:13 [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] 148 ~ match rag { Some(rag) => { [INFO] [stdout] 149 | let (top_k, min_score_vector_search, min_score_keyword_search) = { [INFO] [stdout] ... [INFO] [stdout] 179 | self.rag_name = Some(rag.name().to_string()); [INFO] [stdout] 180 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:227:31 [INFO] [stdout] | [INFO] [stdout] 227 | let mut messages = if let Some(session) = self.session(&self.config.read().session) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/input.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 229 | } 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] 227 ~ let mut messages = match self.session(&self.config.read().session) { Some(session) => { [INFO] [stdout] 228 | session.build_messages(self) [INFO] [stdout] 229 ~ } _ => { [INFO] [stdout] 230 | self.role().build_messages(self) [INFO] [stdout] 231 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(session) = self.session(&self.config.read().session) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/input.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | } 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] 242 ~ match self.session(&self.config.read().session) { Some(session) => { [INFO] [stdout] 243 | session.echo_messages(self) [INFO] [stdout] 244 ~ } _ => { [INFO] [stdout] 245 | self.role().echo_messages(self) [INFO] [stdout] 246 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:360:16 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some(message) = self.messages.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/config/session.rs:364:13 [INFO] [stdout] | [INFO] [stdout] 364 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 360 ~ match self.messages.last_mut() { Some(message) => { [INFO] [stdout] 361 | if let MessageContent::Text(text) = &mut message.content { [INFO] [stdout] 362 | *text = format!("{text}{output}"); [INFO] [stdout] 363 | } [INFO] [stdout] 364 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:361:20 [INFO] [stdout] | [INFO] [stdout] 361 | if let MessageContent::Text(text) = &mut message.content { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/session.rs:363:17 [INFO] [stdout] | [INFO] [stdout] 363 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 361 ~ match &mut message.content { MessageContent::Text(text) => { [INFO] [stdout] 362 | *text = format!("{text}{output}"); [INFO] [stdout] 363 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:366:16 [INFO] [stdout] | [INFO] [stdout] 366 | if let Some(message) = self.messages.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/config/session.rs:370:13 [INFO] [stdout] | [INFO] [stdout] 370 | } [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.messages.last_mut() { Some(message) => { [INFO] [stdout] 367 | if let MessageContent::Text(text) = &mut message.content { [INFO] [stdout] 368 | *text = output.to_string(); [INFO] [stdout] 369 | } [INFO] [stdout] 370 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:367:20 [INFO] [stdout] | [INFO] [stdout] 367 | if let MessageContent::Text(text) = &mut message.content { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/session.rs:369:17 [INFO] [stdout] | [INFO] [stdout] 369 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 367 ~ match &mut message.content { MessageContent::Text(text) => { [INFO] [stdout] 368 | *text = output.to_string(); [INFO] [stdout] 369 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:417:16 [INFO] [stdout] | [INFO] [stdout] 417 | if let Some(index) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | __________________________________| [INFO] [stdout] 418 | || .compressed_messages [INFO] [stdout] | ||____________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 419 | | .iter() [INFO] [stdout] 420 | | .rposition(|v| v.role == MessageRole::User) [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/config/session.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 417 ~ match self [INFO] [stdout] 418 | .compressed_messages [INFO] [stdout] 419 | .iter() [INFO] [stdout] 420 | .rposition(|v| v.role == MessageRole::User) [INFO] [stdout] 421 ~ { Some(index) => { [INFO] [stdout] 422 | messages.extend(self.compressed_messages[index..].to_vec()); [INFO] [stdout] 423 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/function.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 135 | if let Some(id) = &call.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/function.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | } 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] 135 ~ match &call.id { Some(id) => { [INFO] [stdout] 136 | if !seen_ids.contains(id) { [INFO] [stdout] ... [INFO] [stdout] 139 | } [INFO] [stdout] 140 ~ } _ => { [INFO] [stdout] 141 | new_calls.push(call); [INFO] [stdout] 142 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/function.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | } else if let Some(arguments) = self.arguments.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/function.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | } 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] 181 ~ } else { match self.arguments.as_str() { Some(arguments) => { [INFO] [stdout] 182 | let arguments: Value = serde_json::from_str(arguments).map_err(|_| { [INFO] [stdout] ... [INFO] [stdout] 185 | arguments [INFO] [stdout] 186 ~ } _ => { [INFO] [stdout] 187 | bail!( [INFO] [stdout] ... [INFO] [stdout] 190 | ); [INFO] [stdout] 191 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rag/mod.rs:401:24 [INFO] [stdout] | [INFO] [stdout] 401 | if let Some(document) = self.data.get(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/rag/mod.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 401 ~ match self.data.get(id) { Some(document) => { [INFO] [stdout] 402 | documents_ids.push(id); [INFO] [stdout] 403 | documents.push(document.page_content.to_string()); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rag/mod.rs:559:16 [INFO] [stdout] | [INFO] [stdout] 559 | if let Some(file) = self.files.swap_remove(&file_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/rag/mod.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 559 ~ match self.files.swap_remove(&file_id) { Some(file) => { [INFO] [stdout] 560 | for (document_index, _) in file.documents.iter().enumerate() { [INFO] [stdout] ... [INFO] [stdout] 563 | } [INFO] [stdout] 564 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(syntax) = self.syntax_set.find_syntax_by_first_line(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 126 ~ match self.syntax_set.find_syntax_by_first_line(line) { Some(syntax) => { [INFO] [stdout] 127 | code_syntax = Some(syntax.clone()); [INFO] [stdout] 128 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | if let Ok(ranges) = highlighter.highlight_line(trimmed_line, &self.syntax_set) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 147 ~ match highlighter.highlight_line(trimmed_line, &self.syntax_set) { Ok(ranges) => { [INFO] [stdout] 148 | line_highlighted = Some(format!( [INFO] [stdout] ... [INFO] [stdout] 151 | )) [INFO] [stdout] 152 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/stream.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if let Some(evt) = rx.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/render/stream.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 ~ match rx.recv().await { Some(evt) => { [INFO] [stdout] 40 | match evt { [INFO] [stdout] ... [INFO] [stdout] 48 | } [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/stream.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 135 | if let Event::Key(key) = event::read()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/render/stream.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 135 ~ match event::read()? { Event::Key(key) => { [INFO] [stdout] 136 | match key.code { [INFO] [stdout] ... [INFO] [stdout] 146 | } [INFO] [stdout] 147 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/stream.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | while let Some(reply_event) = rx.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/render/stream.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/repl/mod.rs:212:16 [INFO] [stdout] | [INFO] [stdout] 212 | if let Some(text_match) = captures.get(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/repl/mod.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 212 ~ match captures.get(1) { Some(text_match) => { [INFO] [stdout] 213 | line = text_match.as_str(); [INFO] [stdout] 214 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/serve.rs:280:27 [INFO] [stdout] | [INFO] [stdout] 280 | while let Some(reply_event) = rx.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/serve.rs:293:21 [INFO] [stdout] | [INFO] [stdout] 293 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/command.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | if let Ok(contents) = std::fs::read_to_string("/etc/os-release") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/command.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 10 ~ match std::fs::read_to_string("/etc/os-release") { Ok(contents) => { [INFO] [stdout] 11 | for line in contents.lines() { [INFO] [stdout] ... [INFO] [stdout] 15 | } [INFO] [stdout] 16 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/path.rs:95:11 [INFO] [stdout] | [INFO] [stdout] 95 | while let Some(entry) = reader.next_entry().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/utils/path.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/request.rs:97:23 [INFO] [stdout] | [INFO] [stdout] 97 | while let Some(chunk) = res.chunk().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/utils/request.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 82 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `aichat` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/client/common.rs [INFO] [stderr] * src/client/stream.rs [INFO] [stderr] * src/utils/render_prompt.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/client/common.rs:316:6 [INFO] [stderr] | [INFO] [stderr] 316 | ($name:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client/stream.rs:256:10 [INFO] [stderr] | [INFO] [stderr] 256 | ($input:expr_2021, $output:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/client/stream.rs:256:28 [INFO] [stderr] | [INFO] [stderr] 256 | ($input:expr_2021, $output:expr_2021) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/utils/render_prompt.rs:135:10 [INFO] [stderr] | [INFO] [stderr] 135 | ($template:expr_2021, [$(($key:literal, $value:literal),)*], $expect:literal) => { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] error: aborting due to 4 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client/common.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 316 | ($name:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] = note: `--force-warn edition-2024-expr-fragment-specifier` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 316 | ($name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client/stream.rs:256:17 [INFO] [stdout] | [INFO] [stdout] 256 | ($input:expr, $output:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 256 | ($input:expr_2021, $output:expr) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client/stream.rs:256:31 [INFO] [stdout] | [INFO] [stdout] 256 | ($input:expr, $output:expr) => { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see Migration Guide [INFO] [stdout] help: to keep the existing behavior, use the `expr_2021` fragment specifier [INFO] [stdout] | [INFO] [stdout] 256 | ($input:expr, $output:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/utils/render_prompt.rs:135:20 [INFO] [stdout] | [INFO] [stdout] 135 | ($template:expr, [$(($key:literal, $value:literal),)*], $expect:literal) => { [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] 135 | ($template:expr_2021, [$(($key:literal, $value:literal),)*], $expect:literal) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: call to deprecated safe function `std::env::set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/config/mod.rs:1646:13 [INFO] [stdout] | [INFO] [stdout] 1646 | std::env::set_var(key.trim(), value.trim()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #27970 [INFO] [stdout] = note: `--force-warn deprecated-safe-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: you can wrap the call in an `unsafe` block if you can guarantee that the environment access only happens in single-threaded code [INFO] [stdout] | [INFO] [stdout] 1646 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1647 ~ unsafe { std::env::set_var(key.trim(), value.trim()) }; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:473:12 [INFO] [stdout] | [INFO] [stdout] 473 | if let Ok(regex) = Regex::new(&format!("^({key})$")) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:477:9 [INFO] [stdout] | [INFO] [stdout] 477 | } [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] 473 ~ match Regex::new(&format!("^({key})$")) { Ok(regex) => { [INFO] [stdout] 474 | if let Ok(true) = regex.is_match(name) { [INFO] [stdout] 475 | return Some(patch_data); [INFO] [stdout] 476 | } [INFO] [stdout] 477 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:474:16 [INFO] [stdout] | [INFO] [stdout] 474 | if let Ok(true) = regex.is_match(name) { [INFO] [stdout] | ^^^^^^^^^^^^^^^-----^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:476:13 [INFO] [stdout] | [INFO] [stdout] 476 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 474 ~ match regex.is_match(name) { Ok(true) => { [INFO] [stdout] 475 | return Some(patch_data); [INFO] [stdout] 476 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:649:8 [INFO] [stdout] | [INFO] [stdout] 649 | if let Some(error) = data["error"].as_object() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 656 | } else if let Some(error) = data["errors"][0].as_object() { [INFO] [stdout] | ----------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 663 | } else if let Some(error) = data[0]["error"].as_object() { [INFO] [stdout] | ---------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 670 | } else if let (Some(detail), Some(status)) = (data["detail"].as_str(), data["status"].as_i64()) [INFO] [stdout] | -------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 673 | } else if let Some(error) = data["error"].as_str() { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 674 | bail!("{error}"); [INFO] [stdout] 675 | } else if let Some(message) = data["message"].as_str() { [INFO] [stdout] | --------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:656:5 [INFO] [stdout] | [INFO] [stdout] 656 | } else if let Some(error) = data["errors"][0].as_object() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:663:5 [INFO] [stdout] | [INFO] [stdout] 663 | } else if let Some(error) = data[0]["error"].as_object() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:670:5 [INFO] [stdout] | [INFO] [stdout] 670 | } else if let (Some(detail), Some(status)) = (data["detail"].as_str(), data["status"].as_i64()) [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:673:5 [INFO] [stdout] | [INFO] [stdout] 673 | } else if let Some(error) = data["error"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:675:5 [INFO] [stdout] | [INFO] [stdout] 675 | } else if let Some(message) = data["message"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:677:5 [INFO] [stdout] | [INFO] [stdout] 677 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 649 ~ match data["error"].as_object() { Some(error) => { [INFO] [stdout] 650 | if let (Some(typ), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 655 | } [INFO] [stdout] 656 ~ } _ => { match data["errors"][0].as_object() { Some(error) => { [INFO] [stdout] 657 | if let (Some(code), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 662 | } [INFO] [stdout] 663 ~ } _ => { match data[0]["error"].as_object() { Some(error) => { [INFO] [stdout] 664 | if let (Some(status), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 669 | } [INFO] [stdout] 670 ~ } _ => { match (data["detail"].as_str(), data["status"].as_i64()) [INFO] [stdout] 671 ~ { (Some(detail), Some(status)) => { [INFO] [stdout] 672 | bail!("{detail} (status: {status})"); [INFO] [stdout] 673 ~ } _ => { match data["error"].as_str() { Some(error) => { [INFO] [stdout] 674 | bail!("{error}"); [INFO] [stdout] 675 ~ } _ => { match data["message"].as_str() { Some(message) => { [INFO] [stdout] 676 | bail!("{message}"); [INFO] [stdout] 677 ~ } _ => {}}}}}}}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:689:8 [INFO] [stdout] | [INFO] [stdout] 689 | if let (Some(code), Some(message)) = (data["code"].as_str(), data["message"].as_str()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 693 | (data["error_code"].as_number(), data["error_msg"].as_str()) [INFO] [stdout] | ------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:692:5 [INFO] [stdout] | [INFO] [stdout] 692 | } else if let (Some(error_code), Some(error_msg)) = [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/common.rs:697:5 [INFO] [stdout] | [INFO] [stdout] 697 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 689 ~ match (data["code"].as_str(), data["message"].as_str()) { (Some(code), Some(message)) => { [INFO] [stdout] 690 | debug!("Invalid response: {}", data); [INFO] [stdout] 691 | bail!("{message} (code: {code})"); [INFO] [stdout] 692 ~ } _ => { match (data["error_code"].as_number(), data["error_msg"].as_str()) [INFO] [stdout] 693 ~ { (Some(error_code), Some(error_msg)) => { [INFO] [stdout] 694 | debug!("Invalid response: {}", data); [INFO] [stdout] 695 | bail!("{error_msg} (error_code: {error_code})"); [INFO] [stdout] 696 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/message.rs:151:12 [INFO] [stdout] | [INFO] [stdout] 151 | if let (Some(message), MessageContent::Text(system)) = [INFO] [stdout] | ____________^ [INFO] [stdout] 152 | | (messages.get_mut(0), system_message.content) [INFO] [stdout] | |_____________--------------------------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/message.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 151 ~ match (messages.get_mut(0), system_message.content) [INFO] [stdout] 152 ~ { (Some(message), MessageContent::Text(system)) => { [INFO] [stdout] 153 | message.merge_system(&system); [INFO] [stdout] 154 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/stream.rs:94:11 [INFO] [stdout] | [INFO] [stdout] 94 | while let Some(event) = es.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/stream.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/stream.rs:148:11 [INFO] [stdout] | [INFO] [stdout] 148 | while let Some(chunk_bytes) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/stream.rs:161:5 [INFO] [stdout] | [INFO] [stdout] 161 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai.rs:106:12 [INFO] [stdout] | [INFO] [stdout] 106 | if let Some(text) = data["choices"][0]["delta"]["content"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 109 | data["choices"][0]["delta"]["tool_calls"][0]["function"].as_object(), [INFO] [stdout] | -------------------------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/openai.rs:108:9 [INFO] [stdout] | [INFO] [stdout] 108 | } else if let (Some(function), index, id) = ( [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/openai.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 106 ~ match data["choices"][0]["delta"]["content"].as_str() { Some(text) => { [INFO] [stdout] 107 | handler.text(text)?; [INFO] [stdout] 108 ~ } _ => { match ( [INFO] [stdout] 109 | data["choices"][0]["delta"]["tool_calls"][0]["function"].as_object(), [INFO] [stdout] 110 | data["choices"][0]["delta"]["tool_calls"][0]["index"].as_u64(), [INFO] [stdout] 111 | data["choices"][0]["delta"]["tool_calls"][0]["id"].as_str(), [INFO] [stdout] 112 ~ ) { (Some(function), index, id) => { [INFO] [stdout] 113 | let index = index.unwrap_or_default(); [INFO] [stdout] ... [INFO] [stdout] 135 | } [INFO] [stdout] 136 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai.rs:258:20 [INFO] [stdout] | [INFO] [stdout] 258 | if let (Some(name), Some(arguments), Some(id)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 259 | | call["function"]["name"].as_str(), [INFO] [stdout] | | ------------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 260 | | call["function"]["arguments"].as_str(), [INFO] [stdout] 261 | | call["id"].as_str(), [INFO] [stdout] 262 | | ) { [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/client/openai.rs:268:17 [INFO] [stdout] | [INFO] [stdout] 268 | } 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] 258 ~ match ( [INFO] [stdout] 259 | call["function"]["name"].as_str(), [INFO] [stdout] 260 | call["function"]["arguments"].as_str(), [INFO] [stdout] 261 | call["id"].as_str(), [INFO] [stdout] 262 ~ ) { (Some(name), Some(arguments), Some(id)) => { [INFO] [stdout] 263 | Some(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 267 | )) [INFO] [stdout] 268 ~ } _ => { [INFO] [stdout] 269 | None [INFO] [stdout] 270 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/rag_dedicated.rs:126:12 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(data_obj) = data.as_object_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/client/rag_dedicated.rs:130:9 [INFO] [stdout] | [INFO] [stdout] 130 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 126 ~ match data.as_object_mut() { Some(data_obj) => { [INFO] [stdout] 127 | if let Some(value) = data_obj.remove("data") { [INFO] [stdout] 128 | data_obj.insert("results".to_string(), value); [INFO] [stdout] 129 | } [INFO] [stdout] 130 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/rag_dedicated.rs:127:16 [INFO] [stdout] | [INFO] [stdout] 127 | if let Some(value) = data_obj.remove("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/client/rag_dedicated.rs:129:13 [INFO] [stdout] | [INFO] [stdout] 129 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 127 ~ match data_obj.remove("data") { Some(value) => { [INFO] [stdout] 128 | data_obj.insert("results".to_string(), value); [INFO] [stdout] 129 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:80:24 [INFO] [stdout] | [INFO] [stdout] 80 | if let (Some("tool_use"), Some(name), Some(id)) = ( [INFO] [stdout] | ________________________^ [INFO] [stdout] 81 | | data["content_block"]["type"].as_str(), [INFO] [stdout] | | ----------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 82 | | data["content_block"]["name"].as_str(), [INFO] [stdout] 83 | | data["content_block"]["id"].as_str(), [INFO] [stdout] 84 | | ) { [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/client/claude.rs:99:21 [INFO] [stdout] | [INFO] [stdout] 99 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 80 ~ match ( [INFO] [stdout] 81 | data["content_block"]["type"].as_str(), [INFO] [stdout] 82 | data["content_block"]["name"].as_str(), [INFO] [stdout] 83 | data["content_block"]["id"].as_str(), [INFO] [stdout] 84 ~ ) { (Some("tool_use"), Some(name), Some(id)) => { [INFO] [stdout] 85 | if !function_name.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 98 | function_id = id.into(); [INFO] [stdout] 99 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:102:24 [INFO] [stdout] | [INFO] [stdout] 102 | if let Some(text) = data["delta"]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 106 | data["delta"]["partial_json"].as_str(), [INFO] [stdout] | ----------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/claude.rs:104:21 [INFO] [stdout] | [INFO] [stdout] 104 | } else if let (true, Some(partial_json)) = ( [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/claude.rs:109:21 [INFO] [stdout] | [INFO] [stdout] 109 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 102 ~ match data["delta"]["text"].as_str() { Some(text) => { [INFO] [stdout] 103 | handler.text(text)?; [INFO] [stdout] 104 ~ } _ => { match ( [INFO] [stdout] 105 | !function_name.is_empty(), [INFO] [stdout] 106 | data["delta"]["partial_json"].as_str(), [INFO] [stdout] 107 ~ ) { (true, Some(partial_json)) => { [INFO] [stdout] 108 | function_arguments.push_str(partial_json); [INFO] [stdout] 109 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:282:20 [INFO] [stdout] | [INFO] [stdout] 282 | if let (Some(name), Some(input), Some(id)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 283 | | call["name"].as_str(), [INFO] [stdout] | | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 284 | | call.get("input"), [INFO] [stdout] 285 | | call["id"].as_str(), [INFO] [stdout] 286 | | ) { [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/client/claude.rs:292:17 [INFO] [stdout] | [INFO] [stdout] 292 | } 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] 282 ~ match ( [INFO] [stdout] 283 | call["name"].as_str(), [INFO] [stdout] 284 | call.get("input"), [INFO] [stdout] 285 | call["id"].as_str(), [INFO] [stdout] 286 ~ ) { (Some(name), Some(input), Some(id)) => { [INFO] [stdout] 287 | Some(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 291 | )) [INFO] [stdout] 292 ~ } _ => { [INFO] [stdout] 293 | None [INFO] [stdout] 294 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:123:16 [INFO] [stdout] | [INFO] [stdout] 123 | if let Some("text-generation") = data["event_type"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 127 | } else if let Some("tool-calls-generation") = data["event_type"].as_str() { [INFO] [stdout] | ------------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:127:13 [INFO] [stdout] | [INFO] [stdout] 127 | } else if let Some("tool-calls-generation") = data["event_type"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:141:13 [INFO] [stdout] | [INFO] [stdout] 141 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 123 ~ match data["event_type"].as_str() { Some("text-generation") => { [INFO] [stdout] 124 | if let Some(text) = data["text"].as_str() { [INFO] [stdout] 125 | handler.text(text)?; [INFO] [stdout] 126 | } [INFO] [stdout] 127 ~ } _ => { match data["event_type"].as_str() { Some("tool-calls-generation") => { [INFO] [stdout] 128 | if let Some(tool_calls) = data["tool_calls"].as_array() { [INFO] [stdout] ... [INFO] [stdout] 140 | } [INFO] [stdout] 141 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:124:20 [INFO] [stdout] | [INFO] [stdout] 124 | if let Some(text) = data["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:126:17 [INFO] [stdout] | [INFO] [stdout] 126 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 124 ~ match data["text"].as_str() { Some(text) => { [INFO] [stdout] 125 | handler.text(text)?; [INFO] [stdout] 126 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:128:20 [INFO] [stdout] | [INFO] [stdout] 128 | if let Some(tool_calls) = data["tool_calls"].as_array() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:140:17 [INFO] [stdout] | [INFO] [stdout] 140 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 128 ~ match data["tool_calls"].as_array() { Some(tool_calls) => { [INFO] [stdout] 129 | for call in tool_calls { [INFO] [stdout] ... [INFO] [stdout] 139 | } [INFO] [stdout] 140 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:130:28 [INFO] [stdout] | [INFO] [stdout] 130 | if let (Some(name), Some(args)) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 131 | | (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] | |______________________________------------_________________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:138:25 [INFO] [stdout] | [INFO] [stdout] 138 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 130 ~ match (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] 131 ~ { (Some(name), Some(args)) => { [INFO] [stdout] 132 | handler.tool_call(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 136 | ))?; [INFO] [stdout] 137 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 265 | if let Some(object) = body.as_object_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/client/cohere.rs:268:9 [INFO] [stdout] | [INFO] [stdout] 268 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 265 ~ match body.as_object_mut() { Some(object) => { [INFO] [stdout] 266 | object.remove("chat_history"); [INFO] [stdout] 267 | object.remove("message"); [INFO] [stdout] 268 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:305:20 [INFO] [stdout] | [INFO] [stdout] 305 | if let (Some(name), Some(parameters)) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 306 | | (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] | |______________________------------_________________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:309:17 [INFO] [stdout] | [INFO] [stdout] 309 | } 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] 305 ~ match (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] 306 ~ { (Some(name), Some(parameters)) => { [INFO] [stdout] 307 | Some(ToolCall::new(name.to_string(), json!(parameters), None)) [INFO] [stdout] 308 ~ } _ => { [INFO] [stdout] 309 | None [INFO] [stdout] 310 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/ollama.rs:120:20 [INFO] [stdout] | [INFO] [stdout] 120 | if let Some(text) = data["message"]["content"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/ollama.rs:122:17 [INFO] [stdout] | [INFO] [stdout] 122 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 120 ~ match data["message"]["content"].as_str() { Some(text) => { [INFO] [stdout] 121 | handler.text(text)?; [INFO] [stdout] 122 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | if let Some(text) = data["candidates"][0]["content"]["parts"][0]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------------------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 153 | } else if let Some("SAFETY") = data["promptFeedback"]["blockReason"] [INFO] [stdout] | ------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 158 | } else if let Some(parts) = data["candidates"][0]["content"]["parts"].as_array() { [INFO] [stdout] | ----------------------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:153:13 [INFO] [stdout] | [INFO] [stdout] 153 | } else if let Some("SAFETY") = data["promptFeedback"]["blockReason"] [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:158:13 [INFO] [stdout] | [INFO] [stdout] 158 | } else if let Some(parts) = data["candidates"][0]["content"]["parts"].as_array() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:167:13 [INFO] [stdout] | [INFO] [stdout] 167 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 149 ~ match data["candidates"][0]["content"]["parts"][0]["text"].as_str() { Some(text) => { [INFO] [stdout] 150 | if !text.is_empty() { [INFO] [stdout] 151 | handler.text(text)?; [INFO] [stdout] 152 | } [INFO] [stdout] 153 ~ } _ => { match data["promptFeedback"]["blockReason"] [INFO] [stdout] 154 | .as_str() [INFO] [stdout] 155 | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [INFO] [stdout] 156 ~ { Some("SAFETY") => { [INFO] [stdout] 157 | bail!("Content Blocked") [INFO] [stdout] 158 ~ } _ => { match data["candidates"][0]["content"]["parts"].as_array() { Some(parts) => { [INFO] [stdout] 159 | for part in parts { [INFO] [stdout] ... [INFO] [stdout] 166 | } [INFO] [stdout] 167 ~ } _ => {}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:160:24 [INFO] [stdout] | [INFO] [stdout] 160 | if let (Some(name), Some(args)) = ( [INFO] [stdout] | ________________________^ [INFO] [stdout] 161 | | part["functionCall"]["name"].as_str(), [INFO] [stdout] | | ---------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 162 | | part["functionCall"]["args"].as_object(), [INFO] [stdout] 163 | | ) { [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/client/vertexai.rs:165:21 [INFO] [stdout] | [INFO] [stdout] 165 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 160 ~ match ( [INFO] [stdout] 161 | part["functionCall"]["name"].as_str(), [INFO] [stdout] 162 | part["functionCall"]["args"].as_object(), [INFO] [stdout] 163 ~ ) { (Some(name), Some(args)) => { [INFO] [stdout] 164 | handler.tool_call(ToolCall::new(name.to_string(), json!(args), None))?; [INFO] [stdout] 165 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:218:20 [INFO] [stdout] | [INFO] [stdout] 218 | if let (Some(name), Some(args)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 219 | | part["functionCall"]["name"].as_str(), [INFO] [stdout] | | ---------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 220 | | part["functionCall"]["args"].as_object(), [INFO] [stdout] 221 | | ) { [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/client/vertexai.rs:223:17 [INFO] [stdout] | [INFO] [stdout] 223 | } 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] 218 ~ match ( [INFO] [stdout] 219 | part["functionCall"]["name"].as_str(), [INFO] [stdout] 220 | part["functionCall"]["args"].as_object(), [INFO] [stdout] 221 ~ ) { (Some(name), Some(args)) => { [INFO] [stdout] 222 | Some(ToolCall::new(name.to_string(), json!(args), None)) [INFO] [stdout] 223 ~ } _ => { [INFO] [stdout] 224 | None [INFO] [stdout] 225 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:230:12 [INFO] [stdout] | [INFO] [stdout] 230 | if let Some("SAFETY") = data["promptFeedback"]["blockReason"] [INFO] [stdout] | ^ ------------------------------------- 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] 231 | | .as_str() [INFO] [stdout] 232 | | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [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/client/vertexai.rs:235:9 [INFO] [stdout] | [INFO] [stdout] 235 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 230 ~ match data["promptFeedback"]["blockReason"] [INFO] [stdout] 231 | .as_str() [INFO] [stdout] 232 | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [INFO] [stdout] 233 ~ { Some("SAFETY") => { [INFO] [stdout] 234 | bail!("Content Blocked") [INFO] [stdout] 235 ~ } _ => { [INFO] [stdout] 236 | bail!("Invalid response data: {data}"); [INFO] [stdout] 237 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:399:8 [INFO] [stdout] | [INFO] [stdout] 399 | if let (Some(access_token), Some(expires_in)) = [INFO] [stdout] | ________^ [INFO] [stdout] 400 | | (value["access_token"].as_str(), value["expires_in"].as_i64()) [INFO] [stdout] | |__________---------------------_______________________________________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 403 | } else if let Some(err_msg) = value["error_description"].as_str() { [INFO] [stdout] | -------------------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:403:5 [INFO] [stdout] | [INFO] [stdout] 403 | } else if let Some(err_msg) = value["error_description"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:405:5 [INFO] [stdout] | [INFO] [stdout] 405 | } 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] 399 ~ match (value["access_token"].as_str(), value["expires_in"].as_i64()) [INFO] [stdout] 400 ~ { (Some(access_token), Some(expires_in)) => { [INFO] [stdout] 401 | Ok((access_token.to_string(), expires_in)) [INFO] [stdout] 402 ~ } _ => { match value["error_description"].as_str() { Some(err_msg) => { [INFO] [stdout] 403 | bail!("{err_msg}") [INFO] [stdout] 404 ~ } _ => { [INFO] [stdout] 405 | bail!("Invalid response data: {value}") [INFO] [stdout] 406 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:418:8 [INFO] [stdout] | [INFO] [stdout] 418 | if let (Some(client_id), Some(client_secret), Some(refresh_token)) = ( [INFO] [stdout] | ________^ [INFO] [stdout] 419 | | data["client_id"].as_str(), [INFO] [stdout] | | ----------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 420 | | data["client_secret"].as_str(), [INFO] [stdout] 421 | | data["refresh_token"].as_str(), [INFO] [stdout] 422 | | ) { [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/client/vertexai.rs:429:5 [INFO] [stdout] | [INFO] [stdout] 429 | } 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] 418 ~ match ( [INFO] [stdout] 419 | data["client_id"].as_str(), [INFO] [stdout] 420 | data["client_secret"].as_str(), [INFO] [stdout] 421 | data["refresh_token"].as_str(), [INFO] [stdout] 422 ~ ) { (Some(client_id), Some(client_secret), Some(refresh_token)) => { [INFO] [stdout] 423 | Ok(json!({ [INFO] [stdout] ... [INFO] [stdout] 428 | })) [INFO] [stdout] 429 ~ } _ => { [INFO] [stdout] 430 | bail!("Invalid application_default_credentials.json") [INFO] [stdout] 431 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:162:11 [INFO] [stdout] | [INFO] [stdout] 162 | while let Some(chunk) = stream.next().await { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 208 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:165:15 [INFO] [stdout] | [INFO] [stdout] 165 | while let DecodedFrame::Complete(message) = decoder.decode_frame(&mut buffer)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:177:32 [INFO] [stdout] | [INFO] [stdout] 177 | ... if let Some(typ) = data["type"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:183:29 [INFO] [stdout] | [INFO] [stdout] 183 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 177 ~ match data["type"].as_str() { Some(typ) => { [INFO] [stdout] 178 | if typ == "content_block_delta" { [INFO] [stdout] ... [INFO] [stdout] 182 | } [INFO] [stdout] 183 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:179:40 [INFO] [stdout] | [INFO] [stdout] 179 | ... if let Some(text) = data["delta"]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:181:37 [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] 179 ~ match data["delta"]["text"].as_str() { Some(text) => { [INFO] [stdout] 180 | handler.text(text)?; [INFO] [stdout] 181 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:186:32 [INFO] [stdout] | [INFO] [stdout] 186 | ... if let Some(text) = data["generation"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:188:29 [INFO] [stdout] | [INFO] [stdout] 188 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 186 ~ match data["generation"].as_str() { Some(text) => { [INFO] [stdout] 187 | handler.text(text)?; [INFO] [stdout] 188 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:191:32 [INFO] [stdout] | [INFO] [stdout] 191 | ... if let Some(text) = data["outputs"][0]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:193:29 [INFO] [stdout] | [INFO] [stdout] 193 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 191 ~ match data["outputs"][0]["text"].as_str() { Some(text) => { [INFO] [stdout] 192 | handler.text(text)?; [INFO] [stdout] 193 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:183:12 [INFO] [stdout] | [INFO] [stdout] 183 | if let Some(function) = data["function_call"].as_object() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^---------------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 193 | } else if let Some(text) = data["result"].as_str() { [INFO] [stdout] | -------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | } else if let Some(text) = data["result"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:195:9 [INFO] [stdout] | [INFO] [stdout] 195 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 183 ~ match data["function_call"].as_object() { Some(function) => { [INFO] [stdout] 184 | if let (Some(name), Some(arguments)) = ( [INFO] [stdout] ... [INFO] [stdout] 192 | } [INFO] [stdout] 193 ~ } _ => { match data["result"].as_str() { Some(text) => { [INFO] [stdout] 194 | handler.text(text)?; [INFO] [stdout] 195 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:331:12 [INFO] [stdout] | [INFO] [stdout] 331 | if let Some(err_msg) = value["error_description"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^--------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:333:9 [INFO] [stdout] | [INFO] [stdout] 333 | } 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] 331 ~ match value["error_description"].as_str() { Some(err_msg) => { [INFO] [stdout] 332 | anyhow!("{err_msg}") [INFO] [stdout] 333 ~ } _ => { [INFO] [stdout] 334 | anyhow!("Invalid response data") [INFO] [stdout] 335 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:171:19 [INFO] [stdout] | [INFO] [stdout] 171 | } else if let Some(text) = data["output"]["text"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^----------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:189:9 [INFO] [stdout] | [INFO] [stdout] 189 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 171 ~ } else { match data["output"]["text"].as_str() { Some(text) => { [INFO] [stdout] 172 | if let Some(pos) = text.rfind("✿FUNCTION") { [INFO] [stdout] ... [INFO] [stdout] 188 | } [INFO] [stdout] 189 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:158:16 [INFO] [stdout] | [INFO] [stdout] 158 | if let Some(text) = data["output"]["choices"][0]["message"]["content"].as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^--------------------------------------------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:162:13 [INFO] [stdout] | [INFO] [stdout] 162 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 158 ~ match data["output"]["choices"][0]["message"]["content"].as_str() { Some(text) => { [INFO] [stdout] 159 | let delta_text = &text[prev_text.len()..]; [INFO] [stdout] 160 | prev_text = text.to_string(); [INFO] [stdout] 161 | handler.text(delta_text)?; [INFO] [stdout] 162 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:164:16 [INFO] [stdout] | [INFO] [stdout] 164 | if let Some(text) = [INFO] [stdout] | ________________^ [INFO] [stdout] 165 | | data["output"]["choices"][0]["message"]["content"][0]["text"].as_str() [INFO] [stdout] | |_________________-------------------------------------------------------------________^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 164 ~ match data["output"]["choices"][0]["message"]["content"][0]["text"].as_str() [INFO] [stdout] 165 ~ { Some(text) => { [INFO] [stdout] 166 | let delta_text = &text[prev_text.len()..]; [INFO] [stdout] 167 | prev_text = text.to_string(); [INFO] [stdout] 168 | handler.text(delta_text)?; [INFO] [stdout] 169 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/qianwen.rs:392:12 [INFO] [stdout] | [INFO] [stdout] 392 | if let MessageContent::Array(list) = message.content.borrow_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/client/qianwen.rs:405:9 [INFO] [stdout] | [INFO] [stdout] 405 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 392 ~ match message.content.borrow_mut() { MessageContent::Array(list) => { [INFO] [stdout] 393 | for item in list { [INFO] [stdout] ... [INFO] [stdout] 404 | } [INFO] [stdout] 405 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:421:12 [INFO] [stdout] | [INFO] [stdout] 421 | if let Some(session) = self.session.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 422 | session.model() [INFO] [stdout] 423 | } else if let Some(agent) = self.agent.as_ref() { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:423:9 [INFO] [stdout] | [INFO] [stdout] 423 | } else if let Some(agent) = self.agent.as_ref() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:425:9 [INFO] [stdout] | [INFO] [stdout] 425 | } else if let Some(role) = self.role.as_ref() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 421 ~ match self.session.as_ref() { Some(session) => { [INFO] [stdout] 422 | session.model() [INFO] [stdout] 423 ~ } _ => { match self.agent.as_ref() { Some(agent) => { [INFO] [stdout] 424 | agent.model() [INFO] [stdout] 425 ~ } _ => if let Some(role) = self.role.as_ref() { [INFO] [stdout] 426 | role.model() [INFO] [stdout] 427 | } else { [INFO] [stdout] 428 | &self.model [INFO] [stdout] 429 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:433:12 [INFO] [stdout] | [INFO] [stdout] 433 | if let Some(session) = self.session.as_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] 434 | Some(session) [INFO] [stdout] 435 | } else if let Some(agent) = self.agent.as_mut() { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | } else if let Some(agent) = self.agent.as_mut() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:437:9 [INFO] [stdout] | [INFO] [stdout] 437 | } else if let Some(role) = self.role.as_mut() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 433 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 434 | Some(session) [INFO] [stdout] 435 ~ } _ => { match self.agent.as_mut() { Some(agent) => { [INFO] [stdout] 436 | Some(agent) [INFO] [stdout] 437 ~ } _ => if let Some(role) = self.role.as_mut() { [INFO] [stdout] 438 | Some(role) [INFO] [stdout] 439 | } else { [INFO] [stdout] 440 | None [INFO] [stdout] 441 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:445:27 [INFO] [stdout] | [INFO] [stdout] 445 | let mut role = if let Some(session) = self.session.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 446 | session.to_role() [INFO] [stdout] 447 | } else if let Some(agent) = self.agent.as_ref() { [INFO] [stdout] | ---------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:447:9 [INFO] [stdout] | [INFO] [stdout] 447 | } else if let Some(agent) = self.agent.as_ref() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:449:9 [INFO] [stdout] | [INFO] [stdout] 449 | } else if let Some(role) = self.role.as_ref() { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 445 ~ let mut role = match self.session.as_ref() { Some(session) => { [INFO] [stdout] 446 | session.to_role() [INFO] [stdout] 447 ~ } _ => { match self.agent.as_ref() { Some(agent) => { [INFO] [stdout] 448 | agent.to_role() [INFO] [stdout] 449 ~ } _ => if let Some(role) = self.role.as_ref() { [INFO] [stdout] 450 | role.clone() [INFO] [stdout] ... [INFO] [stdout] 454 | role [INFO] [stdout] 455 ~ }}}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:469:12 [INFO] [stdout] | [INFO] [stdout] 469 | if let Some(agent) = &self.agent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 482 | } else if let Some(session) = &self.session { [INFO] [stdout] | ------------ this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 486 | } else if let Some(rag) = &self.rag { [INFO] [stdout] | -------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:482:9 [INFO] [stdout] | [INFO] [stdout] 482 | } else if let Some(session) = &self.session { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:484:9 [INFO] [stdout] | [INFO] [stdout] 484 | } else if let Some(role) = &self.role { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:488:9 [INFO] [stdout] | [INFO] [stdout] 488 | } 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] 469 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 470 | let output = agent.export()?; [INFO] [stdout] ... [INFO] [stdout] 481 | } [INFO] [stdout] 482 ~ } _ => { match &self.session { Some(session) => { [INFO] [stdout] 483 | session.export() [INFO] [stdout] 484 ~ } _ => if let Some(role) = &self.role { [INFO] [stdout] 485 | role.export() [INFO] [stdout] 486 ~ } else { match &self.rag { Some(rag) => { [INFO] [stdout] 487 | rag.export() [INFO] [stdout] 488 ~ } _ => { [INFO] [stdout] 489 | self.sysinfo() [INFO] [stdout] 490 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:471:16 [INFO] [stdout] | [INFO] [stdout] 471 | if let Some(session) = &self.session { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:479:13 [INFO] [stdout] | [INFO] [stdout] 479 | } 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] 471 ~ match &self.session { Some(session) => { [INFO] [stdout] 472 | let session = session [INFO] [stdout] ... [INFO] [stdout] 478 | Ok(format!("{output}session:\n{session}")) [INFO] [stdout] 479 ~ } _ => { [INFO] [stdout] 480 | Ok(output) [INFO] [stdout] 481 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:582:20 [INFO] [stdout] | [INFO] [stdout] 582 | if let Some(value) = parse_value(value)? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:584:17 [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] 582 ~ match parse_value(value)? { Some(value) => { [INFO] [stdout] 583 | self.rag_top_k = value; [INFO] [stdout] 584 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:644:12 [INFO] [stdout] | [INFO] [stdout] 644 | if let Some(session) = self.session.as_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/config/mod.rs:646:9 [INFO] [stdout] | [INFO] [stdout] 646 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 644 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 645 | session.set_save_session(value); [INFO] [stdout] 646 ~ } _ => { [INFO] [stdout] 647 | self.save_session = value; [INFO] [stdout] 648 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:652:12 [INFO] [stdout] | [INFO] [stdout] 652 | if let Some(session) = self.session.as_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/config/mod.rs:654:9 [INFO] [stdout] | [INFO] [stdout] 654 | } 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] 652 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 653 | session.set_compress_threshold(value); [INFO] [stdout] 654 ~ } _ => { [INFO] [stdout] 655 | self.compress_threshold = value.unwrap_or_default(); [INFO] [stdout] 656 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:706:12 [INFO] [stdout] | [INFO] [stdout] 706 | if let Some(session) = self.session.as_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/config/mod.rs:709:9 [INFO] [stdout] | [INFO] [stdout] 709 | } 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] 706 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 707 | session.guard_empty()?; [INFO] [stdout] 708 | session.set_role(role); [INFO] [stdout] 709 ~ } _ => { [INFO] [stdout] 710 | self.role = Some(role); [INFO] [stdout] 711 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:785:20 [INFO] [stdout] | [INFO] [stdout] 785 | if let Some((input, output)) = &self.last_message { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:796:17 [INFO] [stdout] | [INFO] [stdout] 796 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 785 ~ match &self.last_message { Some((input, output)) => { [INFO] [stdout] 786 | if self.agent.is_some() == input.with_agent() { [INFO] [stdout] ... [INFO] [stdout] 795 | } [INFO] [stdout] 796 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:804:12 [INFO] [stdout] | [INFO] [stdout] 804 | if let Some(session) = &self.session { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:808:9 [INFO] [stdout] | [INFO] [stdout] 808 | } 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] 804 ~ match &self.session { Some(session) => { [INFO] [stdout] 805 | let render_options = self.render_options()?; [INFO] [stdout] 806 | let mut markdown_render = MarkdownRender::init(render_options)?; [INFO] [stdout] 807 | session.render(&mut markdown_render) [INFO] [stdout] 808 ~ } _ => { [INFO] [stdout] 809 | bail!("No session") [INFO] [stdout] 810 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:860:12 [INFO] [stdout] | [INFO] [stdout] 860 | if let Some(session) = self.session.as_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/config/mod.rs:862:9 [INFO] [stdout] | [INFO] [stdout] 862 | } 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] 860 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 861 | session.clear_messages(); [INFO] [stdout] 862 ~ } _ => { [INFO] [stdout] 863 | bail!("No session") [INFO] [stdout] 864 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:901:12 [INFO] [stdout] | [INFO] [stdout] 901 | if let Some(session) = self.session.as_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/config/mod.rs:904:9 [INFO] [stdout] | [INFO] [stdout] 904 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 901 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 902 | let summary_prompt = self.summary_prompt.as_deref().unwrap_or(SUMMARY_PROMPT); [INFO] [stdout] 903 | session.compress(format!("{}{}", summary_prompt, summary)); [INFO] [stdout] 904 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:969:12 [INFO] [stdout] | [INFO] [stdout] 969 | if let Some(rag) = &self.rag { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:971:9 [INFO] [stdout] | [INFO] [stdout] 971 | } 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] 969 ~ match &self.rag { Some(rag) => { [INFO] [stdout] 970 | rag.export() [INFO] [stdout] 971 ~ } _ => { [INFO] [stdout] 972 | bail!("No RAG") [INFO] [stdout] 973 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1038:12 [INFO] [stdout] | [INFO] [stdout] 1038 | if let Some(agent) = &self.agent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1040:9 [INFO] [stdout] | [INFO] [stdout] 1040 | } 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] 1038 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1039 | agent.export() [INFO] [stdout] 1040 ~ } _ => { [INFO] [stdout] 1041 | bail!("No agent") [INFO] [stdout] 1042 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1046:12 [INFO] [stdout] | [INFO] [stdout] 1046 | if let Some(agent) = &self.agent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1048:9 [INFO] [stdout] | [INFO] [stdout] 1048 | } 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] 1046 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1047 | Ok(agent.banner()) [INFO] [stdout] 1048 ~ } _ => { [INFO] [stdout] 1049 | bail!("No agent") [INFO] [stdout] 1050 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1122:31 [INFO] [stdout] | [INFO] [stdout] 1122 | } else if let Some(values) = self.mapping_tools.get(item) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1129:21 [INFO] [stdout] | [INFO] [stdout] 1129 | } else if declaration_names.contains(item) { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1122 ~ } else { match self.mapping_tools.get(item) { Some(values) => { [INFO] [stdout] 1123 | tool_names.extend( [INFO] [stdout] ... [INFO] [stdout] 1128 | ) [INFO] [stdout] 1129 ~ } _ => if declaration_names.contains(item) { [INFO] [stdout] 1130 | tool_names.insert(item.to_string()); [INFO] [stdout] 1131 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1257:43 [INFO] [stdout] | [INFO] [stdout] 1257 | let save_session = if let Some(session) = &self.session { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1259:21 [INFO] [stdout] | [INFO] [stdout] 1259 | } 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] 1257 ~ let save_session = match &self.session { Some(session) => { [INFO] [stdout] 1258 | session.save_session() [INFO] [stdout] 1259 ~ } _ => { [INFO] [stdout] 1260 | self.save_session [INFO] [stdout] 1261 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1289:16 [INFO] [stdout] | [INFO] [stdout] 1289 | if let Some(agent) = &self.agent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1295:13 [INFO] [stdout] | [INFO] [stdout] 1295 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1289 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1290 | values = agent [INFO] [stdout] ... [INFO] [stdout] 1294 | .collect() [INFO] [stdout] 1295 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:148:16 [INFO] [stdout] | [INFO] [stdout] 148 | if let Some(rag) = rag { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/input.rs:180:13 [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] 148 ~ match rag { Some(rag) => { [INFO] [stdout] 149 | let (top_k, min_score_vector_search, min_score_keyword_search) = { [INFO] [stdout] ... [INFO] [stdout] 179 | self.rag_name = Some(rag.name().to_string()); [INFO] [stdout] 180 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:227:31 [INFO] [stdout] | [INFO] [stdout] 227 | let mut messages = if let Some(session) = self.session(&self.config.read().session) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/input.rs:229:9 [INFO] [stdout] | [INFO] [stdout] 229 | } 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] 227 ~ let mut messages = match self.session(&self.config.read().session) { Some(session) => { [INFO] [stdout] 228 | session.build_messages(self) [INFO] [stdout] 229 ~ } _ => { [INFO] [stdout] 230 | self.role().build_messages(self) [INFO] [stdout] 231 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 242 | if let Some(session) = self.session(&self.config.read().session) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/input.rs:244:9 [INFO] [stdout] | [INFO] [stdout] 244 | } 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] 242 ~ match self.session(&self.config.read().session) { Some(session) => { [INFO] [stdout] 243 | session.echo_messages(self) [INFO] [stdout] 244 ~ } _ => { [INFO] [stdout] 245 | self.role().echo_messages(self) [INFO] [stdout] 246 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:360:16 [INFO] [stdout] | [INFO] [stdout] 360 | if let Some(message) = self.messages.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/config/session.rs:364:13 [INFO] [stdout] | [INFO] [stdout] 364 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 360 ~ match self.messages.last_mut() { Some(message) => { [INFO] [stdout] 361 | if let MessageContent::Text(text) = &mut message.content { [INFO] [stdout] 362 | *text = format!("{text}{output}"); [INFO] [stdout] 363 | } [INFO] [stdout] 364 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:361:20 [INFO] [stdout] | [INFO] [stdout] 361 | if let MessageContent::Text(text) = &mut message.content { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/session.rs:363:17 [INFO] [stdout] | [INFO] [stdout] 363 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 361 ~ match &mut message.content { MessageContent::Text(text) => { [INFO] [stdout] 362 | *text = format!("{text}{output}"); [INFO] [stdout] 363 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:366:16 [INFO] [stdout] | [INFO] [stdout] 366 | if let Some(message) = self.messages.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/config/session.rs:370:13 [INFO] [stdout] | [INFO] [stdout] 370 | } [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.messages.last_mut() { Some(message) => { [INFO] [stdout] 367 | if let MessageContent::Text(text) = &mut message.content { [INFO] [stdout] 368 | *text = output.to_string(); [INFO] [stdout] 369 | } [INFO] [stdout] 370 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:367:20 [INFO] [stdout] | [INFO] [stdout] 367 | if let MessageContent::Text(text) = &mut message.content { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/session.rs:369:17 [INFO] [stdout] | [INFO] [stdout] 369 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 367 ~ match &mut message.content { MessageContent::Text(text) => { [INFO] [stdout] 368 | *text = output.to_string(); [INFO] [stdout] 369 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/session.rs:417:16 [INFO] [stdout] | [INFO] [stdout] 417 | if let Some(index) = self [INFO] [stdout] | _________________^ - [INFO] [stdout] | | __________________________________| [INFO] [stdout] 418 | || .compressed_messages [INFO] [stdout] | ||____________________________________- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 419 | | .iter() [INFO] [stdout] 420 | | .rposition(|v| v.role == MessageRole::User) [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/config/session.rs:423:13 [INFO] [stdout] | [INFO] [stdout] 423 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 417 ~ match self [INFO] [stdout] 418 | .compressed_messages [INFO] [stdout] 419 | .iter() [INFO] [stdout] 420 | .rposition(|v| v.role == MessageRole::User) [INFO] [stdout] 421 ~ { Some(index) => { [INFO] [stdout] 422 | messages.extend(self.compressed_messages[index..].to_vec()); [INFO] [stdout] 423 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/function.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 135 | if let Some(id) = &call.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/function.rs:140:13 [INFO] [stdout] | [INFO] [stdout] 140 | } 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] 135 ~ match &call.id { Some(id) => { [INFO] [stdout] 136 | if !seen_ids.contains(id) { [INFO] [stdout] ... [INFO] [stdout] 139 | } [INFO] [stdout] 140 ~ } _ => { [INFO] [stdout] 141 | new_calls.push(call); [INFO] [stdout] 142 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/function.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | } else if let Some(arguments) = self.arguments.as_str() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/function.rs:186:9 [INFO] [stdout] | [INFO] [stdout] 186 | } 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] 181 ~ } else { match self.arguments.as_str() { Some(arguments) => { [INFO] [stdout] 182 | let arguments: Value = serde_json::from_str(arguments).map_err(|_| { [INFO] [stdout] ... [INFO] [stdout] 185 | arguments [INFO] [stdout] 186 ~ } _ => { [INFO] [stdout] 187 | bail!( [INFO] [stdout] ... [INFO] [stdout] 190 | ); [INFO] [stdout] 191 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rag/mod.rs:401:24 [INFO] [stdout] | [INFO] [stdout] 401 | if let Some(document) = self.data.get(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/rag/mod.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 404 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 401 ~ match self.data.get(id) { Some(document) => { [INFO] [stdout] 402 | documents_ids.push(id); [INFO] [stdout] 403 | documents.push(document.page_content.to_string()); [INFO] [stdout] 404 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rag/mod.rs:559:16 [INFO] [stdout] | [INFO] [stdout] 559 | if let Some(file) = self.files.swap_remove(&file_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/rag/mod.rs:564:13 [INFO] [stdout] | [INFO] [stdout] 564 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 559 ~ match self.files.swap_remove(&file_id) { Some(file) => { [INFO] [stdout] 560 | for (document_index, _) in file.documents.iter().enumerate() { [INFO] [stdout] ... [INFO] [stdout] 563 | } [INFO] [stdout] 564 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:126:28 [INFO] [stdout] | [INFO] [stdout] 126 | if let Some(syntax) = self.syntax_set.find_syntax_by_first_line(line) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^---------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:128:25 [INFO] [stdout] | [INFO] [stdout] 128 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 126 ~ match self.syntax_set.find_syntax_by_first_line(line) { Some(syntax) => { [INFO] [stdout] 127 | code_syntax = Some(syntax.clone()); [INFO] [stdout] 128 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | if let Ok(ranges) = highlighter.highlight_line(trimmed_line, &self.syntax_set) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^---------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:152:13 [INFO] [stdout] | [INFO] [stdout] 152 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 147 ~ match highlighter.highlight_line(trimmed_line, &self.syntax_set) { Ok(ranges) => { [INFO] [stdout] 148 | line_highlighted = Some(format!( [INFO] [stdout] ... [INFO] [stdout] 151 | )) [INFO] [stdout] 152 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/stream.rs:39:12 [INFO] [stdout] | [INFO] [stdout] 39 | if let Some(evt) = rx.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/render/stream.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 39 ~ match rx.recv().await { Some(evt) => { [INFO] [stdout] 40 | match evt { [INFO] [stdout] ... [INFO] [stdout] 48 | } [INFO] [stdout] 49 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/stream.rs:135:16 [INFO] [stdout] | [INFO] [stdout] 135 | if let Event::Key(key) = event::read()? { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^-------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/render/stream.rs:147:13 [INFO] [stdout] | [INFO] [stdout] 147 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 135 ~ match event::read()? { Event::Key(key) => { [INFO] [stdout] 136 | match key.code { [INFO] [stdout] ... [INFO] [stdout] 146 | } [INFO] [stdout] 147 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/stream.rs:162:19 [INFO] [stdout] | [INFO] [stdout] 162 | while let Some(reply_event) = rx.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/render/stream.rs:170:13 [INFO] [stdout] | [INFO] [stdout] 170 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/repl/mod.rs:212:16 [INFO] [stdout] | [INFO] [stdout] 212 | if let Some(text_match) = captures.get(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/repl/mod.rs:214:13 [INFO] [stdout] | [INFO] [stdout] 214 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 212 ~ match captures.get(1) { Some(text_match) => { [INFO] [stdout] 213 | line = text_match.as_str(); [INFO] [stdout] 214 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/serve.rs:280:27 [INFO] [stdout] | [INFO] [stdout] 280 | while let Some(reply_event) = rx.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/serve.rs:293:21 [INFO] [stdout] | [INFO] [stdout] 293 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/command.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 10 | if let Ok(contents) = std::fs::read_to_string("/etc/os-release") { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/utils/command.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 10 ~ match std::fs::read_to_string("/etc/os-release") { Ok(contents) => { [INFO] [stdout] 11 | for line in contents.lines() { [INFO] [stdout] ... [INFO] [stdout] 15 | } [INFO] [stdout] 16 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/path.rs:95:11 [INFO] [stdout] | [INFO] [stdout] 95 | while let Some(entry) = reader.next_entry().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/utils/path.rs:102:5 [INFO] [stdout] | [INFO] [stdout] 102 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/request.rs:97:23 [INFO] [stdout] | [INFO] [stdout] 97 | while let Some(chunk) = res.chunk().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/utils/request.rs:100:17 [INFO] [stdout] | [INFO] [stdout] 100 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 85 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 40.83s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking aichat v0.19.0 (/tmp/fixit) [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/config/mod.rs:1646:13 [INFO] [stdout] | [INFO] [stdout] 1646 | std::env::set_var(key.trim(), value.trim()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/config/mod.rs:1646:13 [INFO] [stdout] | [INFO] [stdout] 1646 | std::env::set_var(key.trim(), value.trim()); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function [INFO] [stdout] | [INFO] [stdout] = note: consult the function's documentation for information on how to avoid undefined behavior [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `aichat` (bin "aichat") due to 2 previous errors [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0133`. [INFO] [stdout] [INFO] [stderr] error: could not compile `aichat` (bin "aichat" test) due to 2 previous errors [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "54017f08b28a25b276b9e0119f69f99163fa93ae192a5d30ab0343a5732b47f3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "54017f08b28a25b276b9e0119f69f99163fa93ae192a5d30ab0343a5732b47f3", kill_on_drop: false }` [INFO] [stdout] 54017f08b28a25b276b9e0119f69f99163fa93ae192a5d30ab0343a5732b47f3