[INFO] fetching crate aichat 0.21.1... [INFO] checking aichat-0.21.1 against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] extracting crate aichat 0.21.1 into /workspace/builds/worker-1-tc2/source [INFO] validating manifest of crates.io crate aichat 0.21.1 on toolchain ccf408f4326a858c00dd845a64a86b16f360a801 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking crates.io crate aichat 0.21.1 [INFO] finished tweaking crates.io crate aichat 0.21.1 [INFO] tweaked toml for crates.io crate aichat 0.21.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] crate crates.io crate aichat 0.21.1 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0f6e82bc6912d08612aa31bbe1edc8b2b1cd73867405b3a072b5427033a99695 [INFO] running `Command { std: "docker" "start" "-a" "0f6e82bc6912d08612aa31bbe1edc8b2b1cd73867405b3a072b5427033a99695", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0f6e82bc6912d08612aa31bbe1edc8b2b1cd73867405b3a072b5427033a99695", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f6e82bc6912d08612aa31bbe1edc8b2b1cd73867405b3a072b5427033a99695", kill_on_drop: false }` [INFO] [stdout] 0f6e82bc6912d08612aa31bbe1edc8b2b1cd73867405b3a072b5427033a99695 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:ceb6ea022f8a89cebbe621bb4987e73a935bd40dfbb726f832cfff4742a5b95a" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 2d9c6aed17cb29be5024a4c2ad6e417fcf325bfa7ad142415c8c9c8a4adee1ed [INFO] running `Command { std: "docker" "start" "-a" "2d9c6aed17cb29be5024a4c2ad6e417fcf325bfa7ad142415c8c9c8a4adee1ed", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] Running `cargo fix --edition` [INFO] [stderr] Migrating Cargo.toml from 2021 edition to 2024 [INFO] [stderr] Compiling proc-macro2 v1.0.86 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling libc v0.2.158 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling serde v1.0.209 [INFO] [stderr] Compiling autocfg v1.3.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Checking log v0.4.22 [INFO] [stderr] Checking itoa v1.0.11 [INFO] [stderr] Checking memchr v2.7.4 [INFO] [stderr] Checking bytes v1.7.1 [INFO] [stderr] Checking allocator-api2 v0.2.18 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling cc v1.1.15 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking futures-core v0.3.30 [INFO] [stderr] Compiling pkg-config v0.3.30 [INFO] [stderr] Compiling thiserror v1.0.63 [INFO] [stderr] Checking pin-utils v0.1.0 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Checking fnv v1.0.7 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Compiling phf_shared v0.11.2 [INFO] [stderr] Compiling rustix v0.38.35 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking linux-raw-sys v0.4.14 [INFO] [stderr] Checking ryu v1.0.18 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Checking rustls-pki-types v1.8.0 [INFO] [stderr] Checking futures-task v0.3.30 [INFO] [stderr] Checking http v1.1.0 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking libloading v0.8.5 [INFO] [stderr] Checking new_debug_unreachable v1.0.6 [INFO] [stderr] Checking subtle v2.6.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Checking futures-sink v0.3.30 [INFO] [stderr] Compiling typenum v1.17.0 [INFO] [stderr] Checking dlib v0.5.2 [INFO] [stderr] Compiling quote v1.0.37 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling wayland-sys v0.31.4 [INFO] [stderr] Checking bitflags v1.3.2 [INFO] [stderr] Compiling httparse v1.9.4 [INFO] [stderr] Compiling serde_json v1.0.127 [INFO] [stderr] Compiling syn v2.0.77 [INFO] [stderr] Checking powerfmt v0.2.0 [INFO] [stderr] Compiling getrandom v0.2.15 [INFO] [stderr] Compiling signal-hook v0.3.17 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Checking regex-syntax v0.8.4 [INFO] [stderr] Checking untrusted v0.9.0 [INFO] [stderr] Checking base64 v0.22.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling time-core v0.1.2 [INFO] [stderr] Checking deranged v0.3.11 [INFO] [stderr] Compiling time-macros v0.2.18 [INFO] [stderr] Checking aho-corasick v1.1.3 [INFO] [stderr] Checking scoped-tls v1.0.1 [INFO] [stderr] Checking http-body v1.0.1 [INFO] [stderr] Checking atomic-waker v1.1.2 [INFO] [stderr] Checking minimal-lexical v0.2.1 [INFO] [stderr] Checking tinyvec_macros v0.1.1 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Checking num_threads v0.1.7 [INFO] [stderr] Compiling wayland-client v0.31.5 [INFO] [stderr] Compiling quick-xml v0.34.0 [INFO] [stderr] Checking downcast-rs v1.2.1 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Checking try-lock v0.2.5 [INFO] [stderr] Compiling rustls v0.23.12 [INFO] [stderr] Checking nom v7.1.3 [INFO] [stderr] Checking futf v0.1.5 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling ring v0.17.8 [INFO] [stderr] Compiling wayland-backend v0.3.6 [INFO] [stderr] Checking want v0.3.1 [INFO] [stderr] Checking signal-hook-registry v1.4.2 [INFO] [stderr] Checking mio v1.0.2 [INFO] [stderr] Checking socket2 v0.5.7 [INFO] [stderr] Checking mio v0.8.11 [INFO] [stderr] Checking tinyvec v1.8.0 [INFO] [stderr] Checking parking_lot v0.12.3 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Checking futures-channel v0.3.30 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Checking httpdate v1.0.3 [INFO] [stderr] Checking tower-service v0.3.3 [INFO] [stderr] Checking utf-8 v0.7.6 [INFO] [stderr] Compiling cfg_aliases v0.1.1 [INFO] [stderr] Checking same-file v1.0.6 [INFO] [stderr] Checking tower-layer v0.3.3 [INFO] [stderr] Checking percent-encoding v2.3.1 [INFO] [stderr] Checking zeroize v1.8.1 [INFO] [stderr] Checking signal-hook-mio v0.2.4 [INFO] [stderr] Compiling nix v0.28.0 [INFO] [stderr] Checking walkdir v2.5.0 [INFO] [stderr] Checking tendril v0.4.3 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Checking form_urlencoded v1.2.1 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling onig_sys v69.8.1 [INFO] [stderr] Checking rustls-pemfile v2.1.3 [INFO] [stderr] Checking dtoa v1.0.9 [INFO] [stderr] Compiling wayland-scanner v0.31.4 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Checking unicode-bidi v0.3.15 [INFO] [stderr] Checking openssl-probe v0.1.5 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking termcolor v1.4.1 [INFO] [stderr] Compiling rustversion v1.0.17 [INFO] [stderr] Checking fixedbitset v0.4.2 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling anyhow v1.0.86 [INFO] [stderr] Checking unicode-normalization v0.1.23 [INFO] [stderr] Checking rustls-native-certs v0.7.3 [INFO] [stderr] Checking dtoa-short v0.3.5 [INFO] [stderr] Checking block-buffer v0.10.4 [INFO] [stderr] Checking crypto-common v0.1.6 [INFO] [stderr] Checking is-terminal v0.4.13 [INFO] [stderr] Compiling vte_generate_state_changes v0.1.2 [INFO] [stderr] Checking time v0.3.36 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking webpki-roots v0.26.5 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Checking regex-automata v0.4.7 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking mime v0.3.17 [INFO] [stderr] Checking stable_deref_trait v1.2.0 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking home v0.5.9 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking outref v0.5.1 [INFO] [stderr] Checking fastrand v2.1.1 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking vsimd v0.8.0 [INFO] [stderr] Checking unicode-segmentation v1.11.0 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Checking vte v0.11.1 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking idna v0.5.0 [INFO] [stderr] Checking servo_arc v0.3.0 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Checking digest v0.10.7 [INFO] [stderr] Checking nix v0.26.4 [INFO] [stderr] Checking cpu-time v1.0.0 [INFO] [stderr] Checking os_pipe v1.2.1 [INFO] [stderr] Checking base64-simd v0.8.0 [INFO] [stderr] Checking num_cpus v1.16.0 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking phf v0.10.1 [INFO] [stderr] Checking url v2.5.2 [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 sync_wrapper v1.0.1 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking option-ext v0.2.0 [INFO] [stderr] Checking bit-vec v0.6.3 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking x11rb-protocol v0.13.1 [INFO] [stderr] Checking ipnet v2.9.0 [INFO] [stderr] Checking iana-time-zone v0.1.60 [INFO] [stderr] Checking bytemuck v1.17.1 [INFO] [stderr] Checking bit-set v0.5.3 [INFO] [stderr] Checking clap_builder v4.5.15 [INFO] [stderr] Checking fuzzy-matcher v0.3.7 [INFO] [stderr] Checking dirs-sys v0.4.1 [INFO] [stderr] Checking strip-ansi-escapes v0.2.0 [INFO] [stderr] Checking rgb v0.8.50 [INFO] [stderr] Checking aws-smithy-types v1.2.4 [INFO] [stderr] Checking flate2 v1.0.33 [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 itertools v0.12.1 [INFO] [stderr] Checking path-dedot v3.1.1 [INFO] [stderr] Checking cpufeatures v0.2.13 [INFO] [stderr] Checking nu-ansi-term v0.50.1 [INFO] [stderr] Checking strum v0.26.3 [INFO] [stderr] Checking dyn-clone v1.0.17 [INFO] [stderr] Checking ego-tree v0.6.3 [INFO] [stderr] Checking smawk v0.3.2 [INFO] [stderr] Checking futures-timer v3.0.3 [INFO] [stderr] Checking unicode-linebreak v0.1.5 [INFO] [stderr] Checking unsafe-libyaml v0.2.11 [INFO] [stderr] Checking aws-smithy-eventstream v0.60.4 [INFO] [stderr] Checking ansi_colours v1.2.3 [INFO] [stderr] Checking sha2 v0.10.8 [INFO] [stderr] Checking path-absolutize v3.1.1 [INFO] [stderr] Checking textwrap v0.16.1 [INFO] [stderr] Checking dirs v5.0.1 [INFO] [stderr] Checking simplelog v0.12.2 [INFO] [stderr] Checking hmac v0.12.1 [INFO] [stderr] Checking uuid v1.10.0 [INFO] [stderr] Checking urlencoding v2.1.3 [INFO] [stderr] Checking sys-locale v0.3.1 [INFO] [stderr] Checking yansi v0.5.1 [INFO] [stderr] Checking shell-words v1.1.0 [INFO] [stderr] Checking diff v0.1.13 [INFO] [stderr] Checking pretty_assertions v1.4.0 [INFO] [stderr] Checking regex v1.10.6 [INFO] [stderr] Checking fancy-regex v0.13.0 [INFO] [stderr] Compiling zerocopy-derive v0.7.35 [INFO] [stderr] Compiling serde_derive v1.0.209 [INFO] [stderr] Compiling tokio-macros v2.4.0 [INFO] [stderr] Compiling thiserror-impl v1.0.63 [INFO] [stderr] Compiling futures-macro v0.3.30 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling pin-project-internal v1.1.5 [INFO] [stderr] Compiling html5ever v0.27.0 [INFO] [stderr] Compiling enum-as-inner v0.6.0 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Checking env_logger v0.10.2 [INFO] [stderr] Checking rustls-webpki v0.102.7 [INFO] [stderr] Compiling derive-new v0.6.0 [INFO] [stderr] Compiling derive_more v0.99.18 [INFO] [stderr] Compiling clap_derive v4.5.13 [INFO] [stderr] Checking tokio v1.40.0 [INFO] [stderr] Compiling strum_macros v0.26.4 [INFO] [stderr] Checking futures-util v0.3.30 [INFO] [stderr] Compiling async-trait v0.1.82 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Compiling async-recursion v1.1.1 [INFO] [stderr] Checking pin-project v1.1.5 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking ppv-lite86 v0.2.20 [INFO] [stderr] Checking onig v6.4.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking clap v4.5.16 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking anndists v0.1.2 [INFO] [stderr] Checking http-body-util v0.1.2 [INFO] [stderr] Compiling phf_generator v0.11.2 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Compiling string_cache_codegen v0.5.2 [INFO] [stderr] Compiling phf_codegen v0.11.2 [INFO] [stderr] Compiling phf_codegen v0.10.0 [INFO] [stderr] Compiling phf_macros v0.11.2 [INFO] [stderr] Compiling selectors v0.25.0 [INFO] [stderr] Compiling markup5ever v0.12.1 [INFO] [stderr] Checking phf v0.11.2 [INFO] [stderr] Checking cssparser v0.31.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.2 [INFO] [stderr] Checking tokio-graceful v0.1.6 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking indexmap v2.5.0 [INFO] [stderr] Checking string_cache v0.8.7 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking bincode v1.3.3 [INFO] [stderr] Checking chrono v0.4.38 [INFO] [stderr] Checking sysctl v0.5.5 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking inquire v0.7.5 [INFO] [stderr] Checking tokio-stream v0.1.15 [INFO] [stderr] Checking mmap-rs v0.6.1 [INFO] [stderr] Checking h2 v0.4.6 [INFO] [stderr] Checking petgraph v0.6.5 [INFO] [stderr] Checking plist v1.7.0 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking hnsw_rs v0.3.0 [INFO] [stderr] Checking scraper v0.20.0 [INFO] [stderr] Checking html2text v0.12.5 [INFO] [stderr] Checking jsonptr v0.4.7 [INFO] [stderr] Checking syntect v5.2.0 [INFO] [stderr] Checking json-patch v2.0.0 [INFO] [stderr] Checking tree_magic_mini v3.1.5 [INFO] [stderr] Checking hyper v1.4.1 [INFO] [stderr] Checking tempfile v3.12.0 [INFO] [stderr] Checking fd-lock v4.0.2 [INFO] [stderr] Checking x11rb v0.13.1 [INFO] [stderr] Checking reedline v0.34.0 [INFO] [stderr] Checking hyper-util v0.1.7 [INFO] [stderr] Checking wayland-protocols v0.31.2 [INFO] [stderr] Checking hyper-rustls v0.27.2 [INFO] [stderr] Checking reqwest v0.12.7 [INFO] [stderr] Checking wayland-protocols-wlr v0.2.0 [INFO] [stderr] Checking reqwest-eventsource v0.6.0 [INFO] [stderr] Checking wl-clipboard-rs v0.8.1 [INFO] [stderr] Checking arboard v3.4.0 [INFO] [stderr] Checking aichat v0.21.1 (/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/macros.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/macros.rs:236:6 [INFO] [stderr] | [INFO] [stderr] 236 | ($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/macros.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 236 | ($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] 236 | ($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:1895:13 [INFO] [stdout] | [INFO] [stdout] 1895 | 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] 1895 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1896 ~ unsafe { 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:169:16 [INFO] [stdout] | [INFO] [stdout] 169 | 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:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | } [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] 169 ~ match Regex::new(&format!("^({key})$")) { Ok(regex) => { [INFO] [stdout] 170 | if let Ok(true) = regex.is_match(self.model().name()) { [INFO] [stdout] ... [INFO] [stdout] 173 | } [INFO] [stdout] 174 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:170:20 [INFO] [stdout] | [INFO] [stdout] 170 | if let Ok(true) = regex.is_match(self.model().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:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 170 ~ match regex.is_match(self.model().name()) { Ok(true) => { [INFO] [stdout] 171 | request_data.apply_patch(patch); [INFO] [stdout] 172 | return; [INFO] [stdout] 173 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:277:12 [INFO] [stdout] | [INFO] [stdout] 277 | if let Some(patch_headers) = patch["headers"].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/common.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 277 ~ match patch["headers"].as_object() { Some(patch_headers) => { [INFO] [stdout] 278 | for (key, value) in patch_headers { [INFO] [stdout] ... [INFO] [stdout] 282 | } [INFO] [stdout] 283 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:494:8 [INFO] [stdout] | [INFO] [stdout] 494 | 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] 501 | } 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] 508 | } 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] 515 | } 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] 518 | } 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] 519 | bail!("{error}"); [INFO] [stdout] 520 | } 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:501:5 [INFO] [stdout] | [INFO] [stdout] 501 | } 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:508:5 [INFO] [stdout] | [INFO] [stdout] 508 | } 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:515:5 [INFO] [stdout] | [INFO] [stdout] 515 | } 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:518:5 [INFO] [stdout] | [INFO] [stdout] 518 | } 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:520:5 [INFO] [stdout] | [INFO] [stdout] 520 | } 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:522:5 [INFO] [stdout] | [INFO] [stdout] 522 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 494 ~ match data["error"].as_object() { Some(error) => { [INFO] [stdout] 495 | if let (Some(typ), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 500 | } [INFO] [stdout] 501 ~ } _ => { match data["errors"][0].as_object() { Some(error) => { [INFO] [stdout] 502 | if let (Some(code), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 507 | } [INFO] [stdout] 508 ~ } _ => { match data[0]["error"].as_object() { Some(error) => { [INFO] [stdout] 509 | if let (Some(status), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 514 | } [INFO] [stdout] 515 ~ } _ => { match (data["detail"].as_str(), data["status"].as_i64()) [INFO] [stdout] 516 ~ { (Some(detail), Some(status)) => { [INFO] [stdout] 517 | bail!("{detail} (status: {status})"); [INFO] [stdout] 518 ~ } _ => { match data["error"].as_str() { Some(error) => { [INFO] [stdout] 519 | bail!("{error}"); [INFO] [stdout] 520 ~ } _ => { match data["message"].as_str() { Some(message) => { [INFO] [stdout] 521 | bail!("{message}"); [INFO] [stdout] 522 ~ } _ => {}}}}}}}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:534:8 [INFO] [stdout] | [INFO] [stdout] 534 | 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] 538 | (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:537:5 [INFO] [stdout] | [INFO] [stdout] 537 | } 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:542:5 [INFO] [stdout] | [INFO] [stdout] 542 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 534 ~ match (data["code"].as_str(), data["message"].as_str()) { (Some(code), Some(message)) => { [INFO] [stdout] 535 | debug!("Invalid response: {}", data); [INFO] [stdout] 536 | bail!("{message} (code: {code})"); [INFO] [stdout] 537 ~ } _ => { match (data["error_code"].as_number(), data["error_msg"].as_str()) [INFO] [stdout] 538 ~ { (Some(error_code), Some(error_msg)) => { [INFO] [stdout] 539 | debug!("Invalid response: {}", data); [INFO] [stdout] 540 | bail!("{error_msg} (error_code: {error_code})"); [INFO] [stdout] 541 ~ } _ => {}}}} [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:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | 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] 124 | 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:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } 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: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] 121 ~ match data["choices"][0]["delta"]["content"].as_str() { Some(text) => { [INFO] [stdout] 122 | handler.text(text)?; [INFO] [stdout] 123 ~ } _ => { match ( [INFO] [stdout] 124 | data["choices"][0]["delta"]["tool_calls"][0]["function"].as_object(), [INFO] [stdout] 125 | data["choices"][0]["delta"]["tool_calls"][0]["index"].as_u64(), [INFO] [stdout] 126 | data["choices"][0]["delta"]["tool_calls"][0]["id"].as_str(), [INFO] [stdout] 127 ~ ) { (Some(function), index, id) => { [INFO] [stdout] 128 | let index = index.unwrap_or_default(); [INFO] [stdout] ... [INFO] [stdout] 154 | } [INFO] [stdout] 155 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai.rs:203:24 [INFO] [stdout] | [INFO] [stdout] 203 | if let Some(true) = tool_results.first().map(|v| v.call.id.is_some()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:228:21 [INFO] [stdout] | [INFO] [stdout] 228 | } 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] 203 ~ match tool_results.first().map(|v| v.call.id.is_some()) { Some(true) => { [INFO] [stdout] 204 | let tool_calls: Vec<_> = tool_results.iter().map(|tool_result| { [INFO] [stdout] ... [INFO] [stdout] 227 | messages [INFO] [stdout] 228 ~ } _ => { [INFO] [stdout] 229 | tool_results.into_iter().flat_map(|tool_result| { [INFO] [stdout] ... [INFO] [stdout] 252 | }).collect() [INFO] [stdout] 253 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | if let (Some(name), Some(arguments), Some(id)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 309 | | 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] 310 | | call["function"]["arguments"].as_str(), [INFO] [stdout] 311 | | call["id"].as_str(), [INFO] [stdout] 312 | | ) { [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:318:17 [INFO] [stdout] | [INFO] [stdout] 318 | } 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] 308 ~ match ( [INFO] [stdout] 309 | call["function"]["name"].as_str(), [INFO] [stdout] 310 | call["function"]["arguments"].as_str(), [INFO] [stdout] 311 | call["id"].as_str(), [INFO] [stdout] 312 ~ ) { (Some(name), Some(arguments), Some(id)) => { [INFO] [stdout] 313 | Some(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 317 | )) [INFO] [stdout] 318 ~ } _ => { [INFO] [stdout] 319 | None [INFO] [stdout] 320 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai_compatible.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | 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/openai_compatible.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] 132 ~ match data.as_object_mut() { Some(data_obj) => { [INFO] [stdout] 133 | if let Some(value) = data_obj.remove("data") { [INFO] [stdout] 134 | data_obj.insert("results".to_string(), value); [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_compatible.rs:133:16 [INFO] [stdout] | [INFO] [stdout] 133 | 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/openai_compatible.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 133 ~ match data_obj.remove("data") { Some(value) => { [INFO] [stdout] 134 | data_obj.insert("results".to_string(), value); [INFO] [stdout] 135 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:90:24 [INFO] [stdout] | [INFO] [stdout] 90 | if let (Some("tool_use"), Some(name), Some(id)) = ( [INFO] [stdout] | ________________________^ [INFO] [stdout] 91 | | 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] 92 | | data["content_block"]["name"].as_str(), [INFO] [stdout] 93 | | data["content_block"]["id"].as_str(), [INFO] [stdout] 94 | | ) { [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: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] 90 ~ match ( [INFO] [stdout] 91 | data["content_block"]["type"].as_str(), [INFO] [stdout] 92 | data["content_block"]["name"].as_str(), [INFO] [stdout] 93 | data["content_block"]["id"].as_str(), [INFO] [stdout] 94 ~ ) { (Some("tool_use"), Some(name), Some(id)) => { [INFO] [stdout] 95 | if !function_name.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 108 | function_id = id.into(); [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:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | 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] 116 | 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:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | } 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:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 ~ match data["delta"]["text"].as_str() { Some(text) => { [INFO] [stdout] 113 | handler.text(text)?; [INFO] [stdout] 114 ~ } _ => { match ( [INFO] [stdout] 115 | !function_name.is_empty(), [INFO] [stdout] 116 | data["delta"]["partial_json"].as_str(), [INFO] [stdout] 117 ~ ) { (true, Some(partial_json)) => { [INFO] [stdout] 118 | function_arguments.push_str(partial_json); [INFO] [stdout] 119 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:296:20 [INFO] [stdout] | [INFO] [stdout] 296 | if let (Some(name), Some(input), Some(id)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 297 | | 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] 298 | | call.get("input"), [INFO] [stdout] 299 | | call["id"].as_str(), [INFO] [stdout] 300 | | ) { [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:306:17 [INFO] [stdout] | [INFO] [stdout] 306 | } 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] 296 ~ match ( [INFO] [stdout] 297 | call["name"].as_str(), [INFO] [stdout] 298 | call.get("input"), [INFO] [stdout] 299 | call["id"].as_str(), [INFO] [stdout] 300 ~ ) { (Some(name), Some(input), Some(id)) => { [INFO] [stdout] 301 | Some(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 305 | )) [INFO] [stdout] 306 ~ } _ => { [INFO] [stdout] 307 | None [INFO] [stdout] 308 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:131:16 [INFO] [stdout] | [INFO] [stdout] 131 | 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] 135 | } 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:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | } 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:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match data["event_type"].as_str() { Some("text-generation") => { [INFO] [stdout] 132 | if let Some(text) = data["text"].as_str() { [INFO] [stdout] 133 | handler.text(text)?; [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } _ => { match data["event_type"].as_str() { Some("tool-calls-generation") => { [INFO] [stdout] 136 | if let Some(tool_calls) = data["tool_calls"].as_array() { [INFO] [stdout] ... [INFO] [stdout] 148 | } [INFO] [stdout] 149 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:132:20 [INFO] [stdout] | [INFO] [stdout] 132 | 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:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 132 ~ match data["text"].as_str() { Some(text) => { [INFO] [stdout] 133 | handler.text(text)?; [INFO] [stdout] 134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:136:20 [INFO] [stdout] | [INFO] [stdout] 136 | 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:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match data["tool_calls"].as_array() { Some(tool_calls) => { [INFO] [stdout] 137 | for call in tool_calls { [INFO] [stdout] ... [INFO] [stdout] 147 | } [INFO] [stdout] 148 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:138:28 [INFO] [stdout] | [INFO] [stdout] 138 | if let (Some(name), Some(args)) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 139 | | (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:146:25 [INFO] [stdout] | [INFO] [stdout] 146 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 138 ~ match (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] 139 ~ { (Some(name), Some(args)) => { [INFO] [stdout] 140 | handler.tool_call(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 144 | ))?; [INFO] [stdout] 145 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:273:12 [INFO] [stdout] | [INFO] [stdout] 273 | 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:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 273 ~ match body.as_object_mut() { Some(object) => { [INFO] [stdout] 274 | object.remove("chat_history"); [INFO] [stdout] 275 | object.remove("message"); [INFO] [stdout] 276 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:313:20 [INFO] [stdout] | [INFO] [stdout] 313 | if let (Some(name), Some(parameters)) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 314 | | (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:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | } 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] 313 ~ match (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] 314 ~ { (Some(name), Some(parameters)) => { [INFO] [stdout] 315 | Some(ToolCall::new(name.to_string(), json!(parameters), None)) [INFO] [stdout] 316 ~ } _ => { [INFO] [stdout] 317 | None [INFO] [stdout] 318 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:204:16 [INFO] [stdout] | [INFO] [stdout] 204 | 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] 208 | } 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] 213 | } 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:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | } 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:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | } 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:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 204 ~ match data["candidates"][0]["content"]["parts"][0]["text"].as_str() { Some(text) => { [INFO] [stdout] 205 | if !text.is_empty() { [INFO] [stdout] 206 | handler.text(text)?; [INFO] [stdout] 207 | } [INFO] [stdout] 208 ~ } _ => { match data["promptFeedback"]["blockReason"] [INFO] [stdout] 209 | .as_str() [INFO] [stdout] 210 | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [INFO] [stdout] 211 ~ { Some("SAFETY") => { [INFO] [stdout] 212 | bail!("Content Blocked") [INFO] [stdout] 213 ~ } _ => { match data["candidates"][0]["content"]["parts"].as_array() { Some(parts) => { [INFO] [stdout] 214 | for part in parts { [INFO] [stdout] ... [INFO] [stdout] 221 | } [INFO] [stdout] 222 ~ } _ => {}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:215:24 [INFO] [stdout] | [INFO] [stdout] 215 | if let (Some(name), Some(args)) = ( [INFO] [stdout] | ________________________^ [INFO] [stdout] 216 | | 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] 217 | | part["functionCall"]["args"].as_object(), [INFO] [stdout] 218 | | ) { [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:220:21 [INFO] [stdout] | [INFO] [stdout] 220 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match ( [INFO] [stdout] 216 | part["functionCall"]["name"].as_str(), [INFO] [stdout] 217 | part["functionCall"]["args"].as_object(), [INFO] [stdout] 218 ~ ) { (Some(name), Some(args)) => { [INFO] [stdout] 219 | handler.tool_call(ToolCall::new(name.to_string(), json!(args), None))?; [INFO] [stdout] 220 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:273:20 [INFO] [stdout] | [INFO] [stdout] 273 | if let (Some(name), Some(args)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 274 | | 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] 275 | | part["functionCall"]["args"].as_object(), [INFO] [stdout] 276 | | ) { [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:278:17 [INFO] [stdout] | [INFO] [stdout] 278 | } 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] 273 ~ match ( [INFO] [stdout] 274 | part["functionCall"]["name"].as_str(), [INFO] [stdout] 275 | part["functionCall"]["args"].as_object(), [INFO] [stdout] 276 ~ ) { (Some(name), Some(args)) => { [INFO] [stdout] 277 | Some(ToolCall::new(name.to_string(), json!(args), None)) [INFO] [stdout] 278 ~ } _ => { [INFO] [stdout] 279 | None [INFO] [stdout] 280 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:285:12 [INFO] [stdout] | [INFO] [stdout] 285 | 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] 286 | | .as_str() [INFO] [stdout] 287 | | .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:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | } 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] 285 ~ match data["promptFeedback"]["blockReason"] [INFO] [stdout] 286 | .as_str() [INFO] [stdout] 287 | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [INFO] [stdout] 288 ~ { Some("SAFETY") => { [INFO] [stdout] 289 | bail!("Content Blocked") [INFO] [stdout] 290 ~ } _ => { [INFO] [stdout] 291 | bail!("Invalid response data: {data}"); [INFO] [stdout] 292 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:480:8 [INFO] [stdout] | [INFO] [stdout] 480 | if let (Some(access_token), Some(expires_in)) = [INFO] [stdout] | ________^ [INFO] [stdout] 481 | | (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] 484 | } 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:484:5 [INFO] [stdout] | [INFO] [stdout] 484 | } 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:486:5 [INFO] [stdout] | [INFO] [stdout] 486 | } 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] 480 ~ match (value["access_token"].as_str(), value["expires_in"].as_i64()) [INFO] [stdout] 481 ~ { (Some(access_token), Some(expires_in)) => { [INFO] [stdout] 482 | Ok((access_token.to_string(), expires_in)) [INFO] [stdout] 483 ~ } _ => { match value["error_description"].as_str() { Some(err_msg) => { [INFO] [stdout] 484 | bail!("{err_msg}") [INFO] [stdout] 485 ~ } _ => { [INFO] [stdout] 486 | bail!("Invalid response data: {value}") [INFO] [stdout] 487 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:499:8 [INFO] [stdout] | [INFO] [stdout] 499 | if let (Some(client_id), Some(client_secret), Some(refresh_token)) = ( [INFO] [stdout] | ________^ [INFO] [stdout] 500 | | 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] 501 | | data["client_secret"].as_str(), [INFO] [stdout] 502 | | data["refresh_token"].as_str(), [INFO] [stdout] 503 | | ) { [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:510:5 [INFO] [stdout] | [INFO] [stdout] 510 | } 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] 499 ~ match ( [INFO] [stdout] 500 | data["client_id"].as_str(), [INFO] [stdout] 501 | data["client_secret"].as_str(), [INFO] [stdout] 502 | data["refresh_token"].as_str(), [INFO] [stdout] 503 ~ ) { (Some(client_id), Some(client_secret), Some(refresh_token)) => { [INFO] [stdout] 504 | Ok(json!({ [INFO] [stdout] ... [INFO] [stdout] 509 | })) [INFO] [stdout] 510 ~ } _ => { [INFO] [stdout] 511 | bail!("Invalid application_default_credentials.json") [INFO] [stdout] 512 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:215:11 [INFO] [stdout] | [INFO] [stdout] 215 | 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:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:218:15 [INFO] [stdout] | [INFO] [stdout] 218 | 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:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:228:32 [INFO] [stdout] | [INFO] [stdout] 228 | ... if let Some(tool_use) = data["start"]["toolUse"].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/bedrock.rs:248:29 [INFO] [stdout] | [INFO] [stdout] 248 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 228 ~ match data["start"]["toolUse"].as_object() { Some(tool_use) => { [INFO] [stdout] 229 | if let (Some(id), Some(name)) = ( [INFO] [stdout] ... [INFO] [stdout] 247 | } [INFO] [stdout] 248 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:251:32 [INFO] [stdout] | [INFO] [stdout] 251 | ... 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] 252 | ... handler.text(text)?; [INFO] [stdout] 253 | ... } else if let Some(input) = data["delta"]["toolUse"]["input"].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/bedrock.rs:253:29 [INFO] [stdout] | [INFO] [stdout] 253 | ... } else if let Some(input) = data["delta"]["toolUse"]["input"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:255:29 [INFO] [stdout] | [INFO] [stdout] 255 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match data["delta"]["text"].as_str() { Some(text) => { [INFO] [stdout] 252 | handler.text(text)?; [INFO] [stdout] 253 ~ } _ => { match data["delta"]["toolUse"]["input"].as_str() { Some(input) => { [INFO] [stdout] 254 | function_arguments.push_str(input); [INFO] [stdout] 255 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:463:16 [INFO] [stdout] | [INFO] [stdout] 463 | if let Some(text) = item["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] 464 | texts.push(text); [INFO] [stdout] 465 | } else if let Some(tool_use) = item["toolUse"].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/bedrock.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | } else if let Some(tool_use) = item["toolUse"].as_object() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 463 ~ match item["text"].as_str() { Some(text) => { [INFO] [stdout] 464 | texts.push(text); [INFO] [stdout] 465 ~ } _ => { match item["toolUse"].as_object() { Some(tool_use) => { [INFO] [stdout] 466 | if let (Some(id), Some(name), Some(input)) = ( [INFO] [stdout] ... [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/ernie.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | 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] 178 | } 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:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | } 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:180:9 [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] 168 ~ match data["function_call"].as_object() { Some(function) => { [INFO] [stdout] 169 | if let (Some(name), Some(arguments)) = ( [INFO] [stdout] ... [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } _ => { match data["result"].as_str() { Some(text) => { [INFO] [stdout] 179 | handler.text(text)?; [INFO] [stdout] 180 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 316 | 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:318:9 [INFO] [stdout] | [INFO] [stdout] 318 | } 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] 316 ~ match value["error_description"].as_str() { Some(err_msg) => { [INFO] [stdout] 317 | anyhow!("{err_msg}") [INFO] [stdout] 318 ~ } _ => { [INFO] [stdout] 319 | anyhow!("Invalid response data") [INFO] [stdout] 320 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:426:12 [INFO] [stdout] | [INFO] [stdout] 426 | 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] 427 | session.model() [INFO] [stdout] 428 | } 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:428:9 [INFO] [stdout] | [INFO] [stdout] 428 | } 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:430:9 [INFO] [stdout] | [INFO] [stdout] 430 | } 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] 426 ~ match self.session.as_ref() { Some(session) => { [INFO] [stdout] 427 | session.model() [INFO] [stdout] 428 ~ } _ => { match self.agent.as_ref() { Some(agent) => { [INFO] [stdout] 429 | agent.model() [INFO] [stdout] 430 ~ } _ => if let Some(role) = self.role.as_ref() { [INFO] [stdout] 431 | role.model() [INFO] [stdout] 432 | } else { [INFO] [stdout] 433 | &self.model [INFO] [stdout] 434 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:438:12 [INFO] [stdout] | [INFO] [stdout] 438 | 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] 439 | Some(session) [INFO] [stdout] 440 | } 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:440:9 [INFO] [stdout] | [INFO] [stdout] 440 | } 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:442:9 [INFO] [stdout] | [INFO] [stdout] 442 | } 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] 438 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 439 | Some(session) [INFO] [stdout] 440 ~ } _ => { match self.agent.as_mut() { Some(agent) => { [INFO] [stdout] 441 | Some(agent) [INFO] [stdout] 442 ~ } _ => if let Some(role) = self.role.as_mut() { [INFO] [stdout] 443 | Some(role) [INFO] [stdout] 444 | } else { [INFO] [stdout] 445 | None [INFO] [stdout] 446 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:450:27 [INFO] [stdout] | [INFO] [stdout] 450 | 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] 451 | session.to_role() [INFO] [stdout] 452 | } 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:452:9 [INFO] [stdout] | [INFO] [stdout] 452 | } 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:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | } 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] 450 ~ let mut role = match self.session.as_ref() { Some(session) => { [INFO] [stdout] 451 | session.to_role() [INFO] [stdout] 452 ~ } _ => { match self.agent.as_ref() { Some(agent) => { [INFO] [stdout] 453 | agent.to_role() [INFO] [stdout] 454 ~ } _ => if let Some(role) = self.role.as_ref() { [INFO] [stdout] 455 | role.clone() [INFO] [stdout] ... [INFO] [stdout] 459 | role [INFO] [stdout] 460 ~ }}}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:474:12 [INFO] [stdout] | [INFO] [stdout] 474 | 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] 487 | } 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] 491 | } 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:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | } 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:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | } 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:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | } 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] 474 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 475 | let output = agent.export()?; [INFO] [stdout] ... [INFO] [stdout] 486 | } [INFO] [stdout] 487 ~ } _ => { match &self.session { Some(session) => { [INFO] [stdout] 488 | session.export() [INFO] [stdout] 489 ~ } _ => if let Some(role) = &self.role { [INFO] [stdout] 490 | Ok(role.export()) [INFO] [stdout] 491 ~ } else { match &self.rag { Some(rag) => { [INFO] [stdout] 492 | rag.export() [INFO] [stdout] 493 ~ } _ => { [INFO] [stdout] 494 | self.sysinfo() [INFO] [stdout] 495 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:476:16 [INFO] [stdout] | [INFO] [stdout] 476 | 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:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 476 ~ match &self.session { Some(session) => { [INFO] [stdout] 477 | let session = session [INFO] [stdout] ... [INFO] [stdout] 483 | Ok(format!("{output}session:\n{session}")) [INFO] [stdout] 484 ~ } _ => { [INFO] [stdout] 485 | Ok(output) [INFO] [stdout] 486 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:592:20 [INFO] [stdout] | [INFO] [stdout] 592 | 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:594:17 [INFO] [stdout] | [INFO] [stdout] 594 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 592 ~ match parse_value(value)? { Some(value) => { [INFO] [stdout] 593 | self.rag_top_k = value; [INFO] [stdout] 594 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:646:12 [INFO] [stdout] | [INFO] [stdout] 646 | 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:648:9 [INFO] [stdout] | [INFO] [stdout] 648 | } 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] 646 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 647 | session.set_save_session(value); [INFO] [stdout] 648 ~ } _ => { [INFO] [stdout] 649 | self.save_session = value; [INFO] [stdout] 650 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:654:12 [INFO] [stdout] | [INFO] [stdout] 654 | 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:656:9 [INFO] [stdout] | [INFO] [stdout] 656 | } 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] 654 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 655 | session.set_compress_threshold(value); [INFO] [stdout] 656 ~ } _ => { [INFO] [stdout] 657 | self.compress_threshold = value.unwrap_or_default(); [INFO] [stdout] 658 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:708:12 [INFO] [stdout] | [INFO] [stdout] 708 | 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:711:9 [INFO] [stdout] | [INFO] [stdout] 711 | } 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] 708 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 709 | session.guard_empty()?; [INFO] [stdout] 710 | session.set_role(role); [INFO] [stdout] 711 ~ } _ => { [INFO] [stdout] 712 | self.role = Some(role); [INFO] [stdout] 713 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:818:20 [INFO] [stdout] | [INFO] [stdout] 818 | if let Ok(path) = Self::role_file(&old_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/config/mod.rs:820:17 [INFO] [stdout] | [INFO] [stdout] 820 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 818 ~ match Self::role_file(&old_name) { Ok(path) => { [INFO] [stdout] 819 | let _ = remove_file(&path); [INFO] [stdout] 820 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:834:16 [INFO] [stdout] | [INFO] [stdout] 834 | if let Ok(path) = Self::role_file(&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/config/mod.rs:839:13 [INFO] [stdout] | [INFO] [stdout] 839 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 834 ~ match Self::role_file(&name) { Ok(path) => { [INFO] [stdout] 835 | if let Ok(content) = read_to_string(&path) { [INFO] [stdout] ... [INFO] [stdout] 838 | } [INFO] [stdout] 839 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:835:20 [INFO] [stdout] | [INFO] [stdout] 835 | if let Ok(content) = read_to_string(&path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:838:17 [INFO] [stdout] | [INFO] [stdout] 838 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 835 ~ match read_to_string(&path) { Ok(content) => { [INFO] [stdout] 836 | let role = Role::new(&name, &content); [INFO] [stdout] 837 | roles.insert(name, role); [INFO] [stdout] 838 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:850:20 [INFO] [stdout] | [INFO] [stdout] 850 | if let Some(name) = entry [INFO] [stdout] | ^ ----- 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] 851 | | .file_name() [INFO] [stdout] 852 | | .to_str() [INFO] [stdout] 853 | | .and_then(|v| v.strip_suffix(".md")) [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/mod.rs:856:17 [INFO] [stdout] | [INFO] [stdout] 856 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 850 ~ match entry [INFO] [stdout] 851 | .file_name() [INFO] [stdout] 852 | .to_str() [INFO] [stdout] 853 | .and_then(|v| v.strip_suffix(".md")) [INFO] [stdout] 854 ~ { Some(name) => { [INFO] [stdout] 855 | names.insert(name.to_string()); [INFO] [stdout] 856 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:900:20 [INFO] [stdout] | [INFO] [stdout] 900 | 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:911:17 [INFO] [stdout] | [INFO] [stdout] 911 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 900 ~ match &self.last_message { Some((input, output)) => { [INFO] [stdout] 901 | if self.agent.is_some() == input.with_agent() { [INFO] [stdout] ... [INFO] [stdout] 910 | } [INFO] [stdout] 911 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:919:12 [INFO] [stdout] | [INFO] [stdout] 919 | 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:923:9 [INFO] [stdout] | [INFO] [stdout] 923 | } 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] 919 ~ match &self.session { Some(session) => { [INFO] [stdout] 920 | let render_options = self.render_options()?; [INFO] [stdout] 921 | let mut markdown_render = MarkdownRender::init(render_options)?; [INFO] [stdout] 922 | session.render(&mut markdown_render) [INFO] [stdout] 923 ~ } _ => { [INFO] [stdout] 924 | bail!("No session") [INFO] [stdout] 925 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:950:20 [INFO] [stdout] | [INFO] [stdout] 950 | if let Ok(path) = self.session_file(&old_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/config/mod.rs:952:17 [INFO] [stdout] | [INFO] [stdout] 952 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 950 ~ match self.session_file(&old_name) { Ok(path) => { [INFO] [stdout] 951 | let _ = remove_file(&path); [INFO] [stdout] 952 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:978:12 [INFO] [stdout] | [INFO] [stdout] 978 | 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:983:9 [INFO] [stdout] | [INFO] [stdout] 983 | } 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] 978 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 979 | session.clear_messages(); [INFO] [stdout] ... [INFO] [stdout] 982 | } [INFO] [stdout] 983 ~ } _ => { [INFO] [stdout] 984 | bail!("No session") [INFO] [stdout] 985 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:980:16 [INFO] [stdout] | [INFO] [stdout] 980 | if let Some(prompt) = self.agent.as_ref().map(|v| v.interpolated_instructions()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:982:13 [INFO] [stdout] | [INFO] [stdout] 982 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 980 ~ match self.agent.as_ref().map(|v| v.interpolated_instructions()) { Some(prompt) => { [INFO] [stdout] 981 | session.update_role_prompt(&prompt); [INFO] [stdout] 982 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1025:12 [INFO] [stdout] | [INFO] [stdout] 1025 | 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:1028:9 [INFO] [stdout] | [INFO] [stdout] 1028 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1025 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 1026 | let summary_prompt = self.summary_prompt.as_deref().unwrap_or(SUMMARY_PROMPT); [INFO] [stdout] 1027 | session.compress(format!("{}{}", summary_prompt, summary)); [INFO] [stdout] 1028 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1093:12 [INFO] [stdout] | [INFO] [stdout] 1093 | 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:1095:9 [INFO] [stdout] | [INFO] [stdout] 1095 | } 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] 1093 ~ match &self.rag { Some(rag) => { [INFO] [stdout] 1094 | rag.export() [INFO] [stdout] 1095 ~ } _ => { [INFO] [stdout] 1096 | bail!("No RAG") [INFO] [stdout] 1097 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1203:12 [INFO] [stdout] | [INFO] [stdout] 1203 | 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:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | } 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] 1203 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1204 | agent.export() [INFO] [stdout] 1205 ~ } _ => { [INFO] [stdout] 1206 | bail!("No agent") [INFO] [stdout] 1207 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1211:12 [INFO] [stdout] | [INFO] [stdout] 1211 | 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:1213:9 [INFO] [stdout] | [INFO] [stdout] 1213 | } 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] 1211 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1212 | Ok(agent.banner()) [INFO] [stdout] 1213 ~ } _ => { [INFO] [stdout] 1214 | bail!("No agent") [INFO] [stdout] 1215 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1292:31 [INFO] [stdout] | [INFO] [stdout] 1292 | } 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:1299:21 [INFO] [stdout] | [INFO] [stdout] 1299 | } 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] 1292 ~ } else { match self.mapping_tools.get(item) { Some(values) => { [INFO] [stdout] 1293 | tool_names.extend( [INFO] [stdout] ... [INFO] [stdout] 1298 | ) [INFO] [stdout] 1299 ~ } _ => if declaration_names.contains(item) { [INFO] [stdout] 1300 | tool_names.insert(item.to_string()); [INFO] [stdout] 1301 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1317:16 [INFO] [stdout] | [INFO] [stdout] 1317 | 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:1335:13 [INFO] [stdout] | [INFO] [stdout] 1335 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1317 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1318 | let mut agent_functions = agent.functions().declarations().to_vec(); [INFO] [stdout] ... [INFO] [stdout] 1334 | functions = agent_functions; [INFO] [stdout] 1335 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1423:43 [INFO] [stdout] | [INFO] [stdout] 1423 | 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:1425:21 [INFO] [stdout] | [INFO] [stdout] 1425 | } 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] 1423 ~ let save_session = match &self.session { Some(session) => { [INFO] [stdout] 1424 | session.save_session() [INFO] [stdout] 1425 ~ } _ => { [INFO] [stdout] 1426 | self.save_session [INFO] [stdout] 1427 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1455:16 [INFO] [stdout] | [INFO] [stdout] 1455 | 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:1461:13 [INFO] [stdout] | [INFO] [stdout] 1461 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1455 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1456 | values = agent [INFO] [stdout] ... [INFO] [stdout] 1460 | .collect() [INFO] [stdout] 1461 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1786:16 [INFO] [stdout] | [INFO] [stdout] 1786 | if let Ok(v) = serde_json::from_str(&v) { [INFO] [stdout] | ^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:1788:13 [INFO] [stdout] | [INFO] [stdout] 1788 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1786 ~ match serde_json::from_str(&v) { Ok(v) => { [INFO] [stdout] 1787 | self.mapping_tools = v; [INFO] [stdout] 1788 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1823:16 [INFO] [stdout] | [INFO] [stdout] 1823 | if let Ok(v) = serde_json::from_str(&v) { [INFO] [stdout] | ^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:1825:13 [INFO] [stdout] | [INFO] [stdout] 1825 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1823 ~ match serde_json::from_str(&v) { Ok(v) => { [INFO] [stdout] 1824 | self.document_loaders = v; [INFO] [stdout] 1825 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | 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: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 rag { Some(rag) => { [INFO] [stdout] 148 | let result = [INFO] [stdout] ... [INFO] [stdout] 151 | self.rag_name = Some(rag.name().to_string()); [INFO] [stdout] 152 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:199:31 [INFO] [stdout] | [INFO] [stdout] 199 | 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:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | } 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] 199 ~ let mut messages = match self.session(&self.config.read().session) { Some(session) => { [INFO] [stdout] 200 | session.build_messages(self) [INFO] [stdout] 201 ~ } _ => { [INFO] [stdout] 202 | self.role().build_messages(self) [INFO] [stdout] 203 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:214:12 [INFO] [stdout] | [INFO] [stdout] 214 | 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:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | } 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] 214 ~ match self.session(&self.config.read().session) { Some(session) => { [INFO] [stdout] 215 | session.echo_messages(self) [INFO] [stdout] 216 ~ } _ => { [INFO] [stdout] 217 | self.role().echo_messages(self) [INFO] [stdout] 218 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/role.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | if let (Some(metadata_value), Some(prompt_value)) = (caps.get(1), caps.get(2)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/role.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 95 ~ match (caps.get(1), caps.get(2)) { (Some(metadata_value), Some(prompt_value)) => { [INFO] [stdout] 96 | metadata = metadata_value.as_str().trim(); [INFO] [stdout] 97 | prompt = prompt_value.as_str().trim(); [INFO] [stdout] 98 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/role.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | if let Ok(value) = serde_yaml::from_str::(metadata) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/role.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | } [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 serde_yaml::from_str::(metadata) { Ok(value) => { [INFO] [stdout] 107 | if let Some(value) = value.as_object() { [INFO] [stdout] ... [INFO] [stdout] 117 | } [INFO] [stdout] 118 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/role.rs:107:20 [INFO] [stdout] | [INFO] [stdout] 107 | if let Some(value) = value.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/config/role.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 107 ~ match value.as_object() { Some(value) => { [INFO] [stdout] 108 | for (key, value) in value { [INFO] [stdout] ... [INFO] [stdout] 116 | } [INFO] [stdout] 117 ~ } _ => {}} [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:202:19 [INFO] [stdout] | [INFO] [stdout] 202 | } 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:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | } 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] 202 ~ } else { match self.arguments.as_str() { Some(arguments) => { [INFO] [stdout] 203 | let arguments: Value = serde_json::from_str(arguments).map_err(|_| { [INFO] [stdout] ... [INFO] [stdout] 206 | arguments [INFO] [stdout] 207 ~ } _ => { [INFO] [stdout] 208 | bail!( [INFO] [stdout] ... [INFO] [stdout] 211 | ); [INFO] [stdout] 212 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rag/mod.rs:412:24 [INFO] [stdout] | [INFO] [stdout] 412 | 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:415:21 [INFO] [stdout] | [INFO] [stdout] 415 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 412 ~ match self.data.get(id) { Some(document) => { [INFO] [stdout] 413 | documents_ids.push(id); [INFO] [stdout] 414 | documents.push(document.page_content.to_string()); [INFO] [stdout] 415 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rag/mod.rs:580:16 [INFO] [stdout] | [INFO] [stdout] 580 | 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:585:13 [INFO] [stdout] | [INFO] [stdout] 585 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 580 ~ match self.files.swap_remove(&file_id) { Some(file) => { [INFO] [stdout] 581 | for (document_index, _) in file.documents.iter().enumerate() { [INFO] [stdout] ... [INFO] [stdout] 584 | } [INFO] [stdout] 585 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:125:28 [INFO] [stdout] | [INFO] [stdout] 125 | 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:127:25 [INFO] [stdout] | [INFO] [stdout] 127 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 125 ~ match self.syntax_set.find_syntax_by_first_line(line) { Some(syntax) => { [INFO] [stdout] 126 | code_syntax = Some(syntax.clone()); [INFO] [stdout] 127 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 146 | 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:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 146 ~ match highlighter.highlight_line(trimmed_line, &self.syntax_set) { Ok(ranges) => { [INFO] [stdout] 147 | line_highlighted = Some(format!( [INFO] [stdout] ... [INFO] [stdout] 150 | )) [INFO] [stdout] 151 ~ } _ => {}} [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:220:16 [INFO] [stdout] | [INFO] [stdout] 220 | 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:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 220 ~ match captures.get(1) { Some(text_match) => { [INFO] [stdout] 221 | line = text_match.as_str(); [INFO] [stdout] 222 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/serve.rs:328:27 [INFO] [stdout] | [INFO] [stdout] 328 | while let Some(reply_event) = sse_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:342:21 [INFO] [stdout] | [INFO] [stdout] 342 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/command.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | 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:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 15 ~ match std::fs::read_to_string("/etc/os-release") { Ok(contents) => { [INFO] [stdout] 16 | for line in contents.lines() { [INFO] [stdout] ... [INFO] [stdout] 20 | } [INFO] [stdout] 21 ~ } _ => {}} [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:124:23 [INFO] [stdout] | [INFO] [stdout] 124 | 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:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 90 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/macros.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/macros.rs:236:6 [INFO] [stderr] | [INFO] [stderr] 236 | ($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] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/client/macros.rs:236:12 [INFO] [stdout] | [INFO] [stdout] 236 | ($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] 236 | ($name:expr_2021) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [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] [stderr] [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:1895:13 [INFO] [stdout] | [INFO] [stdout] 1895 | 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] 1895 + // TODO: Audit that the environment access only happens in single-threaded code. [INFO] [stdout] 1896 ~ unsafe { 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:169:16 [INFO] [stdout] | [INFO] [stdout] 169 | 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:174:13 [INFO] [stdout] | [INFO] [stdout] 174 | } [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] 169 ~ match Regex::new(&format!("^({key})$")) { Ok(regex) => { [INFO] [stdout] 170 | if let Ok(true) = regex.is_match(self.model().name()) { [INFO] [stdout] ... [INFO] [stdout] 173 | } [INFO] [stdout] 174 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:170:20 [INFO] [stdout] | [INFO] [stdout] 170 | if let Ok(true) = regex.is_match(self.model().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:173:17 [INFO] [stdout] | [INFO] [stdout] 173 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 170 ~ match regex.is_match(self.model().name()) { Ok(true) => { [INFO] [stdout] 171 | request_data.apply_patch(patch); [INFO] [stdout] 172 | return; [INFO] [stdout] 173 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:277:12 [INFO] [stdout] | [INFO] [stdout] 277 | if let Some(patch_headers) = patch["headers"].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/common.rs:283:9 [INFO] [stdout] | [INFO] [stdout] 283 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 277 ~ match patch["headers"].as_object() { Some(patch_headers) => { [INFO] [stdout] 278 | for (key, value) in patch_headers { [INFO] [stdout] ... [INFO] [stdout] 282 | } [INFO] [stdout] 283 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:494:8 [INFO] [stdout] | [INFO] [stdout] 494 | 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] 501 | } 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] 508 | } 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] 515 | } 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] 518 | } 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] 519 | bail!("{error}"); [INFO] [stdout] 520 | } 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:501:5 [INFO] [stdout] | [INFO] [stdout] 501 | } 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:508:5 [INFO] [stdout] | [INFO] [stdout] 508 | } 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:515:5 [INFO] [stdout] | [INFO] [stdout] 515 | } 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:518:5 [INFO] [stdout] | [INFO] [stdout] 518 | } 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:520:5 [INFO] [stdout] | [INFO] [stdout] 520 | } 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:522:5 [INFO] [stdout] | [INFO] [stdout] 522 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 494 ~ match data["error"].as_object() { Some(error) => { [INFO] [stdout] 495 | if let (Some(typ), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 500 | } [INFO] [stdout] 501 ~ } _ => { match data["errors"][0].as_object() { Some(error) => { [INFO] [stdout] 502 | if let (Some(code), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 507 | } [INFO] [stdout] 508 ~ } _ => { match data[0]["error"].as_object() { Some(error) => { [INFO] [stdout] 509 | if let (Some(status), Some(message)) = ( [INFO] [stdout] ... [INFO] [stdout] 514 | } [INFO] [stdout] 515 ~ } _ => { match (data["detail"].as_str(), data["status"].as_i64()) [INFO] [stdout] 516 ~ { (Some(detail), Some(status)) => { [INFO] [stdout] 517 | bail!("{detail} (status: {status})"); [INFO] [stdout] 518 ~ } _ => { match data["error"].as_str() { Some(error) => { [INFO] [stdout] 519 | bail!("{error}"); [INFO] [stdout] 520 ~ } _ => { match data["message"].as_str() { Some(message) => { [INFO] [stdout] 521 | bail!("{message}"); [INFO] [stdout] 522 ~ } _ => {}}}}}}}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/common.rs:534:8 [INFO] [stdout] | [INFO] [stdout] 534 | 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] 538 | (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:537:5 [INFO] [stdout] | [INFO] [stdout] 537 | } 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:542:5 [INFO] [stdout] | [INFO] [stdout] 542 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 534 ~ match (data["code"].as_str(), data["message"].as_str()) { (Some(code), Some(message)) => { [INFO] [stdout] 535 | debug!("Invalid response: {}", data); [INFO] [stdout] 536 | bail!("{message} (code: {code})"); [INFO] [stdout] 537 ~ } _ => { match (data["error_code"].as_number(), data["error_msg"].as_str()) [INFO] [stdout] 538 ~ { (Some(error_code), Some(error_msg)) => { [INFO] [stdout] 539 | debug!("Invalid response: {}", data); [INFO] [stdout] 540 | bail!("{error_msg} (error_code: {error_code})"); [INFO] [stdout] 541 ~ } _ => {}}}} [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:121:12 [INFO] [stdout] | [INFO] [stdout] 121 | 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] 124 | 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:123:9 [INFO] [stdout] | [INFO] [stdout] 123 | } 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: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] 121 ~ match data["choices"][0]["delta"]["content"].as_str() { Some(text) => { [INFO] [stdout] 122 | handler.text(text)?; [INFO] [stdout] 123 ~ } _ => { match ( [INFO] [stdout] 124 | data["choices"][0]["delta"]["tool_calls"][0]["function"].as_object(), [INFO] [stdout] 125 | data["choices"][0]["delta"]["tool_calls"][0]["index"].as_u64(), [INFO] [stdout] 126 | data["choices"][0]["delta"]["tool_calls"][0]["id"].as_str(), [INFO] [stdout] 127 ~ ) { (Some(function), index, id) => { [INFO] [stdout] 128 | let index = index.unwrap_or_default(); [INFO] [stdout] ... [INFO] [stdout] 154 | } [INFO] [stdout] 155 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai.rs:203:24 [INFO] [stdout] | [INFO] [stdout] 203 | if let Some(true) = tool_results.first().map(|v| v.call.id.is_some()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^------------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:228:21 [INFO] [stdout] | [INFO] [stdout] 228 | } 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] 203 ~ match tool_results.first().map(|v| v.call.id.is_some()) { Some(true) => { [INFO] [stdout] 204 | let tool_calls: Vec<_> = tool_results.iter().map(|tool_result| { [INFO] [stdout] ... [INFO] [stdout] 227 | messages [INFO] [stdout] 228 ~ } _ => { [INFO] [stdout] 229 | tool_results.into_iter().flat_map(|tool_result| { [INFO] [stdout] ... [INFO] [stdout] 252 | }).collect() [INFO] [stdout] 253 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai.rs:308:20 [INFO] [stdout] | [INFO] [stdout] 308 | if let (Some(name), Some(arguments), Some(id)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 309 | | 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] 310 | | call["function"]["arguments"].as_str(), [INFO] [stdout] 311 | | call["id"].as_str(), [INFO] [stdout] 312 | | ) { [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:318:17 [INFO] [stdout] | [INFO] [stdout] 318 | } 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] 308 ~ match ( [INFO] [stdout] 309 | call["function"]["name"].as_str(), [INFO] [stdout] 310 | call["function"]["arguments"].as_str(), [INFO] [stdout] 311 | call["id"].as_str(), [INFO] [stdout] 312 ~ ) { (Some(name), Some(arguments), Some(id)) => { [INFO] [stdout] 313 | Some(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 317 | )) [INFO] [stdout] 318 ~ } _ => { [INFO] [stdout] 319 | None [INFO] [stdout] 320 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/openai_compatible.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | 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/openai_compatible.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] 132 ~ match data.as_object_mut() { Some(data_obj) => { [INFO] [stdout] 133 | if let Some(value) = data_obj.remove("data") { [INFO] [stdout] 134 | data_obj.insert("results".to_string(), value); [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_compatible.rs:133:16 [INFO] [stdout] | [INFO] [stdout] 133 | 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/openai_compatible.rs:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 133 ~ match data_obj.remove("data") { Some(value) => { [INFO] [stdout] 134 | data_obj.insert("results".to_string(), value); [INFO] [stdout] 135 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:90:24 [INFO] [stdout] | [INFO] [stdout] 90 | if let (Some("tool_use"), Some(name), Some(id)) = ( [INFO] [stdout] | ________________________^ [INFO] [stdout] 91 | | 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] 92 | | data["content_block"]["name"].as_str(), [INFO] [stdout] 93 | | data["content_block"]["id"].as_str(), [INFO] [stdout] 94 | | ) { [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: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] 90 ~ match ( [INFO] [stdout] 91 | data["content_block"]["type"].as_str(), [INFO] [stdout] 92 | data["content_block"]["name"].as_str(), [INFO] [stdout] 93 | data["content_block"]["id"].as_str(), [INFO] [stdout] 94 ~ ) { (Some("tool_use"), Some(name), Some(id)) => { [INFO] [stdout] 95 | if !function_name.is_empty() { [INFO] [stdout] ... [INFO] [stdout] 108 | function_id = id.into(); [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:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | 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] 116 | 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:114:21 [INFO] [stdout] | [INFO] [stdout] 114 | } 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:119:21 [INFO] [stdout] | [INFO] [stdout] 119 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 112 ~ match data["delta"]["text"].as_str() { Some(text) => { [INFO] [stdout] 113 | handler.text(text)?; [INFO] [stdout] 114 ~ } _ => { match ( [INFO] [stdout] 115 | !function_name.is_empty(), [INFO] [stdout] 116 | data["delta"]["partial_json"].as_str(), [INFO] [stdout] 117 ~ ) { (true, Some(partial_json)) => { [INFO] [stdout] 118 | function_arguments.push_str(partial_json); [INFO] [stdout] 119 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/claude.rs:296:20 [INFO] [stdout] | [INFO] [stdout] 296 | if let (Some(name), Some(input), Some(id)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 297 | | 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] 298 | | call.get("input"), [INFO] [stdout] 299 | | call["id"].as_str(), [INFO] [stdout] 300 | | ) { [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:306:17 [INFO] [stdout] | [INFO] [stdout] 306 | } 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] 296 ~ match ( [INFO] [stdout] 297 | call["name"].as_str(), [INFO] [stdout] 298 | call.get("input"), [INFO] [stdout] 299 | call["id"].as_str(), [INFO] [stdout] 300 ~ ) { (Some(name), Some(input), Some(id)) => { [INFO] [stdout] 301 | Some(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 305 | )) [INFO] [stdout] 306 ~ } _ => { [INFO] [stdout] 307 | None [INFO] [stdout] 308 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:131:16 [INFO] [stdout] | [INFO] [stdout] 131 | 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] 135 | } 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:135:13 [INFO] [stdout] | [INFO] [stdout] 135 | } 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:149:13 [INFO] [stdout] | [INFO] [stdout] 149 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 131 ~ match data["event_type"].as_str() { Some("text-generation") => { [INFO] [stdout] 132 | if let Some(text) = data["text"].as_str() { [INFO] [stdout] 133 | handler.text(text)?; [INFO] [stdout] 134 | } [INFO] [stdout] 135 ~ } _ => { match data["event_type"].as_str() { Some("tool-calls-generation") => { [INFO] [stdout] 136 | if let Some(tool_calls) = data["tool_calls"].as_array() { [INFO] [stdout] ... [INFO] [stdout] 148 | } [INFO] [stdout] 149 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:132:20 [INFO] [stdout] | [INFO] [stdout] 132 | 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:134:17 [INFO] [stdout] | [INFO] [stdout] 134 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 132 ~ match data["text"].as_str() { Some(text) => { [INFO] [stdout] 133 | handler.text(text)?; [INFO] [stdout] 134 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:136:20 [INFO] [stdout] | [INFO] [stdout] 136 | 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:148:17 [INFO] [stdout] | [INFO] [stdout] 148 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 136 ~ match data["tool_calls"].as_array() { Some(tool_calls) => { [INFO] [stdout] 137 | for call in tool_calls { [INFO] [stdout] ... [INFO] [stdout] 147 | } [INFO] [stdout] 148 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:138:28 [INFO] [stdout] | [INFO] [stdout] 138 | if let (Some(name), Some(args)) = [INFO] [stdout] | ____________________________^ [INFO] [stdout] 139 | | (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:146:25 [INFO] [stdout] | [INFO] [stdout] 146 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 138 ~ match (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] 139 ~ { (Some(name), Some(args)) => { [INFO] [stdout] 140 | handler.tool_call(ToolCall::new( [INFO] [stdout] ... [INFO] [stdout] 144 | ))?; [INFO] [stdout] 145 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:273:12 [INFO] [stdout] | [INFO] [stdout] 273 | 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:276:9 [INFO] [stdout] | [INFO] [stdout] 276 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 273 ~ match body.as_object_mut() { Some(object) => { [INFO] [stdout] 274 | object.remove("chat_history"); [INFO] [stdout] 275 | object.remove("message"); [INFO] [stdout] 276 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/cohere.rs:313:20 [INFO] [stdout] | [INFO] [stdout] 313 | if let (Some(name), Some(parameters)) = [INFO] [stdout] | ____________________^ [INFO] [stdout] 314 | | (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:317:17 [INFO] [stdout] | [INFO] [stdout] 317 | } 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] 313 ~ match (call["name"].as_str(), call["parameters"].as_object()) [INFO] [stdout] 314 ~ { (Some(name), Some(parameters)) => { [INFO] [stdout] 315 | Some(ToolCall::new(name.to_string(), json!(parameters), None)) [INFO] [stdout] 316 ~ } _ => { [INFO] [stdout] 317 | None [INFO] [stdout] 318 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:204:16 [INFO] [stdout] | [INFO] [stdout] 204 | 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] 208 | } 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] 213 | } 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:208:13 [INFO] [stdout] | [INFO] [stdout] 208 | } 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:213:13 [INFO] [stdout] | [INFO] [stdout] 213 | } 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:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 204 ~ match data["candidates"][0]["content"]["parts"][0]["text"].as_str() { Some(text) => { [INFO] [stdout] 205 | if !text.is_empty() { [INFO] [stdout] 206 | handler.text(text)?; [INFO] [stdout] 207 | } [INFO] [stdout] 208 ~ } _ => { match data["promptFeedback"]["blockReason"] [INFO] [stdout] 209 | .as_str() [INFO] [stdout] 210 | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [INFO] [stdout] 211 ~ { Some("SAFETY") => { [INFO] [stdout] 212 | bail!("Content Blocked") [INFO] [stdout] 213 ~ } _ => { match data["candidates"][0]["content"]["parts"].as_array() { Some(parts) => { [INFO] [stdout] 214 | for part in parts { [INFO] [stdout] ... [INFO] [stdout] 221 | } [INFO] [stdout] 222 ~ } _ => {}}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:215:24 [INFO] [stdout] | [INFO] [stdout] 215 | if let (Some(name), Some(args)) = ( [INFO] [stdout] | ________________________^ [INFO] [stdout] 216 | | 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] 217 | | part["functionCall"]["args"].as_object(), [INFO] [stdout] 218 | | ) { [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:220:21 [INFO] [stdout] | [INFO] [stdout] 220 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 215 ~ match ( [INFO] [stdout] 216 | part["functionCall"]["name"].as_str(), [INFO] [stdout] 217 | part["functionCall"]["args"].as_object(), [INFO] [stdout] 218 ~ ) { (Some(name), Some(args)) => { [INFO] [stdout] 219 | handler.tool_call(ToolCall::new(name.to_string(), json!(args), None))?; [INFO] [stdout] 220 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:273:20 [INFO] [stdout] | [INFO] [stdout] 273 | if let (Some(name), Some(args)) = ( [INFO] [stdout] | ____________________^ [INFO] [stdout] 274 | | 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] 275 | | part["functionCall"]["args"].as_object(), [INFO] [stdout] 276 | | ) { [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:278:17 [INFO] [stdout] | [INFO] [stdout] 278 | } 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] 273 ~ match ( [INFO] [stdout] 274 | part["functionCall"]["name"].as_str(), [INFO] [stdout] 275 | part["functionCall"]["args"].as_object(), [INFO] [stdout] 276 ~ ) { (Some(name), Some(args)) => { [INFO] [stdout] 277 | Some(ToolCall::new(name.to_string(), json!(args), None)) [INFO] [stdout] 278 ~ } _ => { [INFO] [stdout] 279 | None [INFO] [stdout] 280 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:285:12 [INFO] [stdout] | [INFO] [stdout] 285 | 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] 286 | | .as_str() [INFO] [stdout] 287 | | .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:290:9 [INFO] [stdout] | [INFO] [stdout] 290 | } 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] 285 ~ match data["promptFeedback"]["blockReason"] [INFO] [stdout] 286 | .as_str() [INFO] [stdout] 287 | .or_else(|| data["candidates"][0]["finishReason"].as_str()) [INFO] [stdout] 288 ~ { Some("SAFETY") => { [INFO] [stdout] 289 | bail!("Content Blocked") [INFO] [stdout] 290 ~ } _ => { [INFO] [stdout] 291 | bail!("Invalid response data: {data}"); [INFO] [stdout] 292 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:480:8 [INFO] [stdout] | [INFO] [stdout] 480 | if let (Some(access_token), Some(expires_in)) = [INFO] [stdout] | ________^ [INFO] [stdout] 481 | | (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] 484 | } 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:484:5 [INFO] [stdout] | [INFO] [stdout] 484 | } 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:486:5 [INFO] [stdout] | [INFO] [stdout] 486 | } 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] 480 ~ match (value["access_token"].as_str(), value["expires_in"].as_i64()) [INFO] [stdout] 481 ~ { (Some(access_token), Some(expires_in)) => { [INFO] [stdout] 482 | Ok((access_token.to_string(), expires_in)) [INFO] [stdout] 483 ~ } _ => { match value["error_description"].as_str() { Some(err_msg) => { [INFO] [stdout] 484 | bail!("{err_msg}") [INFO] [stdout] 485 ~ } _ => { [INFO] [stdout] 486 | bail!("Invalid response data: {value}") [INFO] [stdout] 487 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/vertexai.rs:499:8 [INFO] [stdout] | [INFO] [stdout] 499 | if let (Some(client_id), Some(client_secret), Some(refresh_token)) = ( [INFO] [stdout] | ________^ [INFO] [stdout] 500 | | 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] 501 | | data["client_secret"].as_str(), [INFO] [stdout] 502 | | data["refresh_token"].as_str(), [INFO] [stdout] 503 | | ) { [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:510:5 [INFO] [stdout] | [INFO] [stdout] 510 | } 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] 499 ~ match ( [INFO] [stdout] 500 | data["client_id"].as_str(), [INFO] [stdout] 501 | data["client_secret"].as_str(), [INFO] [stdout] 502 | data["refresh_token"].as_str(), [INFO] [stdout] 503 ~ ) { (Some(client_id), Some(client_secret), Some(refresh_token)) => { [INFO] [stdout] 504 | Ok(json!({ [INFO] [stdout] ... [INFO] [stdout] 509 | })) [INFO] [stdout] 510 ~ } _ => { [INFO] [stdout] 511 | bail!("Invalid application_default_credentials.json") [INFO] [stdout] 512 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:215:11 [INFO] [stdout] | [INFO] [stdout] 215 | 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:283:5 [INFO] [stdout] | [INFO] [stdout] 283 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:218:15 [INFO] [stdout] | [INFO] [stdout] 218 | 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:282:9 [INFO] [stdout] | [INFO] [stdout] 282 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:228:32 [INFO] [stdout] | [INFO] [stdout] 228 | ... if let Some(tool_use) = data["start"]["toolUse"].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/bedrock.rs:248:29 [INFO] [stdout] | [INFO] [stdout] 248 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 228 ~ match data["start"]["toolUse"].as_object() { Some(tool_use) => { [INFO] [stdout] 229 | if let (Some(id), Some(name)) = ( [INFO] [stdout] ... [INFO] [stdout] 247 | } [INFO] [stdout] 248 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:251:32 [INFO] [stdout] | [INFO] [stdout] 251 | ... 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] 252 | ... handler.text(text)?; [INFO] [stdout] 253 | ... } else if let Some(input) = data["delta"]["toolUse"]["input"].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/bedrock.rs:253:29 [INFO] [stdout] | [INFO] [stdout] 253 | ... } else if let Some(input) = data["delta"]["toolUse"]["input"].as_str() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:255:29 [INFO] [stdout] | [INFO] [stdout] 255 | ... } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 251 ~ match data["delta"]["text"].as_str() { Some(text) => { [INFO] [stdout] 252 | handler.text(text)?; [INFO] [stdout] 253 ~ } _ => { match data["delta"]["toolUse"]["input"].as_str() { Some(input) => { [INFO] [stdout] 254 | function_arguments.push_str(input); [INFO] [stdout] 255 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:463:16 [INFO] [stdout] | [INFO] [stdout] 463 | if let Some(text) = item["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] 464 | texts.push(text); [INFO] [stdout] 465 | } else if let Some(tool_use) = item["toolUse"].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/bedrock.rs:465:13 [INFO] [stdout] | [INFO] [stdout] 465 | } else if let Some(tool_use) = item["toolUse"].as_object() { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/client/bedrock.rs:477:13 [INFO] [stdout] | [INFO] [stdout] 477 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 463 ~ match item["text"].as_str() { Some(text) => { [INFO] [stdout] 464 | texts.push(text); [INFO] [stdout] 465 ~ } _ => { match item["toolUse"].as_object() { Some(tool_use) => { [INFO] [stdout] 466 | if let (Some(id), Some(name), Some(input)) = ( [INFO] [stdout] ... [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/ernie.rs:168:12 [INFO] [stdout] | [INFO] [stdout] 168 | 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] 178 | } 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:178:9 [INFO] [stdout] | [INFO] [stdout] 178 | } 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:180:9 [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] 168 ~ match data["function_call"].as_object() { Some(function) => { [INFO] [stdout] 169 | if let (Some(name), Some(arguments)) = ( [INFO] [stdout] ... [INFO] [stdout] 177 | } [INFO] [stdout] 178 ~ } _ => { match data["result"].as_str() { Some(text) => { [INFO] [stdout] 179 | handler.text(text)?; [INFO] [stdout] 180 ~ } _ => {}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/client/ernie.rs:316:12 [INFO] [stdout] | [INFO] [stdout] 316 | 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:318:9 [INFO] [stdout] | [INFO] [stdout] 318 | } 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] 316 ~ match value["error_description"].as_str() { Some(err_msg) => { [INFO] [stdout] 317 | anyhow!("{err_msg}") [INFO] [stdout] 318 ~ } _ => { [INFO] [stdout] 319 | anyhow!("Invalid response data") [INFO] [stdout] 320 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:426:12 [INFO] [stdout] | [INFO] [stdout] 426 | 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] 427 | session.model() [INFO] [stdout] 428 | } 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:428:9 [INFO] [stdout] | [INFO] [stdout] 428 | } 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:430:9 [INFO] [stdout] | [INFO] [stdout] 430 | } 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] 426 ~ match self.session.as_ref() { Some(session) => { [INFO] [stdout] 427 | session.model() [INFO] [stdout] 428 ~ } _ => { match self.agent.as_ref() { Some(agent) => { [INFO] [stdout] 429 | agent.model() [INFO] [stdout] 430 ~ } _ => if let Some(role) = self.role.as_ref() { [INFO] [stdout] 431 | role.model() [INFO] [stdout] 432 | } else { [INFO] [stdout] 433 | &self.model [INFO] [stdout] 434 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:438:12 [INFO] [stdout] | [INFO] [stdout] 438 | 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] 439 | Some(session) [INFO] [stdout] 440 | } 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:440:9 [INFO] [stdout] | [INFO] [stdout] 440 | } 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:442:9 [INFO] [stdout] | [INFO] [stdout] 442 | } 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] 438 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 439 | Some(session) [INFO] [stdout] 440 ~ } _ => { match self.agent.as_mut() { Some(agent) => { [INFO] [stdout] 441 | Some(agent) [INFO] [stdout] 442 ~ } _ => if let Some(role) = self.role.as_mut() { [INFO] [stdout] 443 | Some(role) [INFO] [stdout] 444 | } else { [INFO] [stdout] 445 | None [INFO] [stdout] 446 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:450:27 [INFO] [stdout] | [INFO] [stdout] 450 | 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] 451 | session.to_role() [INFO] [stdout] 452 | } 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:452:9 [INFO] [stdout] | [INFO] [stdout] 452 | } 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:454:9 [INFO] [stdout] | [INFO] [stdout] 454 | } 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] 450 ~ let mut role = match self.session.as_ref() { Some(session) => { [INFO] [stdout] 451 | session.to_role() [INFO] [stdout] 452 ~ } _ => { match self.agent.as_ref() { Some(agent) => { [INFO] [stdout] 453 | agent.to_role() [INFO] [stdout] 454 ~ } _ => if let Some(role) = self.role.as_ref() { [INFO] [stdout] 455 | role.clone() [INFO] [stdout] ... [INFO] [stdout] 459 | role [INFO] [stdout] 460 ~ }}}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:474:12 [INFO] [stdout] | [INFO] [stdout] 474 | 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] 487 | } 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] 491 | } 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:487:9 [INFO] [stdout] | [INFO] [stdout] 487 | } 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:489:9 [INFO] [stdout] | [INFO] [stdout] 489 | } 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:493:9 [INFO] [stdout] | [INFO] [stdout] 493 | } 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] 474 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 475 | let output = agent.export()?; [INFO] [stdout] ... [INFO] [stdout] 486 | } [INFO] [stdout] 487 ~ } _ => { match &self.session { Some(session) => { [INFO] [stdout] 488 | session.export() [INFO] [stdout] 489 ~ } _ => if let Some(role) = &self.role { [INFO] [stdout] 490 | Ok(role.export()) [INFO] [stdout] 491 ~ } else { match &self.rag { Some(rag) => { [INFO] [stdout] 492 | rag.export() [INFO] [stdout] 493 ~ } _ => { [INFO] [stdout] 494 | self.sysinfo() [INFO] [stdout] 495 ~ }}}}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:476:16 [INFO] [stdout] | [INFO] [stdout] 476 | 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:484:13 [INFO] [stdout] | [INFO] [stdout] 484 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 476 ~ match &self.session { Some(session) => { [INFO] [stdout] 477 | let session = session [INFO] [stdout] ... [INFO] [stdout] 483 | Ok(format!("{output}session:\n{session}")) [INFO] [stdout] 484 ~ } _ => { [INFO] [stdout] 485 | Ok(output) [INFO] [stdout] 486 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:592:20 [INFO] [stdout] | [INFO] [stdout] 592 | 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:594:17 [INFO] [stdout] | [INFO] [stdout] 594 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 592 ~ match parse_value(value)? { Some(value) => { [INFO] [stdout] 593 | self.rag_top_k = value; [INFO] [stdout] 594 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:646:12 [INFO] [stdout] | [INFO] [stdout] 646 | 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:648:9 [INFO] [stdout] | [INFO] [stdout] 648 | } 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] 646 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 647 | session.set_save_session(value); [INFO] [stdout] 648 ~ } _ => { [INFO] [stdout] 649 | self.save_session = value; [INFO] [stdout] 650 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:654:12 [INFO] [stdout] | [INFO] [stdout] 654 | 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:656:9 [INFO] [stdout] | [INFO] [stdout] 656 | } 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] 654 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 655 | session.set_compress_threshold(value); [INFO] [stdout] 656 ~ } _ => { [INFO] [stdout] 657 | self.compress_threshold = value.unwrap_or_default(); [INFO] [stdout] 658 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:708:12 [INFO] [stdout] | [INFO] [stdout] 708 | 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:711:9 [INFO] [stdout] | [INFO] [stdout] 711 | } 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] 708 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 709 | session.guard_empty()?; [INFO] [stdout] 710 | session.set_role(role); [INFO] [stdout] 711 ~ } _ => { [INFO] [stdout] 712 | self.role = Some(role); [INFO] [stdout] 713 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:818:20 [INFO] [stdout] | [INFO] [stdout] 818 | if let Ok(path) = Self::role_file(&old_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/config/mod.rs:820:17 [INFO] [stdout] | [INFO] [stdout] 820 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 818 ~ match Self::role_file(&old_name) { Ok(path) => { [INFO] [stdout] 819 | let _ = remove_file(&path); [INFO] [stdout] 820 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:834:16 [INFO] [stdout] | [INFO] [stdout] 834 | if let Ok(path) = Self::role_file(&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/config/mod.rs:839:13 [INFO] [stdout] | [INFO] [stdout] 839 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 834 ~ match Self::role_file(&name) { Ok(path) => { [INFO] [stdout] 835 | if let Ok(content) = read_to_string(&path) { [INFO] [stdout] ... [INFO] [stdout] 838 | } [INFO] [stdout] 839 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:835:20 [INFO] [stdout] | [INFO] [stdout] 835 | if let Ok(content) = read_to_string(&path) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/config/mod.rs:838:17 [INFO] [stdout] | [INFO] [stdout] 838 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 835 ~ match read_to_string(&path) { Ok(content) => { [INFO] [stdout] 836 | let role = Role::new(&name, &content); [INFO] [stdout] 837 | roles.insert(name, role); [INFO] [stdout] 838 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:850:20 [INFO] [stdout] | [INFO] [stdout] 850 | if let Some(name) = entry [INFO] [stdout] | ^ ----- 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] 851 | | .file_name() [INFO] [stdout] 852 | | .to_str() [INFO] [stdout] 853 | | .and_then(|v| v.strip_suffix(".md")) [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/mod.rs:856:17 [INFO] [stdout] | [INFO] [stdout] 856 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 850 ~ match entry [INFO] [stdout] 851 | .file_name() [INFO] [stdout] 852 | .to_str() [INFO] [stdout] 853 | .and_then(|v| v.strip_suffix(".md")) [INFO] [stdout] 854 ~ { Some(name) => { [INFO] [stdout] 855 | names.insert(name.to_string()); [INFO] [stdout] 856 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:900:20 [INFO] [stdout] | [INFO] [stdout] 900 | 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:911:17 [INFO] [stdout] | [INFO] [stdout] 911 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 900 ~ match &self.last_message { Some((input, output)) => { [INFO] [stdout] 901 | if self.agent.is_some() == input.with_agent() { [INFO] [stdout] ... [INFO] [stdout] 910 | } [INFO] [stdout] 911 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:919:12 [INFO] [stdout] | [INFO] [stdout] 919 | 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:923:9 [INFO] [stdout] | [INFO] [stdout] 923 | } 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] 919 ~ match &self.session { Some(session) => { [INFO] [stdout] 920 | let render_options = self.render_options()?; [INFO] [stdout] 921 | let mut markdown_render = MarkdownRender::init(render_options)?; [INFO] [stdout] 922 | session.render(&mut markdown_render) [INFO] [stdout] 923 ~ } _ => { [INFO] [stdout] 924 | bail!("No session") [INFO] [stdout] 925 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:950:20 [INFO] [stdout] | [INFO] [stdout] 950 | if let Ok(path) = self.session_file(&old_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/config/mod.rs:952:17 [INFO] [stdout] | [INFO] [stdout] 952 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 950 ~ match self.session_file(&old_name) { Ok(path) => { [INFO] [stdout] 951 | let _ = remove_file(&path); [INFO] [stdout] 952 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:978:12 [INFO] [stdout] | [INFO] [stdout] 978 | 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:983:9 [INFO] [stdout] | [INFO] [stdout] 983 | } 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] 978 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 979 | session.clear_messages(); [INFO] [stdout] ... [INFO] [stdout] 982 | } [INFO] [stdout] 983 ~ } _ => { [INFO] [stdout] 984 | bail!("No session") [INFO] [stdout] 985 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:980:16 [INFO] [stdout] | [INFO] [stdout] 980 | if let Some(prompt) = self.agent.as_ref().map(|v| v.interpolated_instructions()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:982:13 [INFO] [stdout] | [INFO] [stdout] 982 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 980 ~ match self.agent.as_ref().map(|v| v.interpolated_instructions()) { Some(prompt) => { [INFO] [stdout] 981 | session.update_role_prompt(&prompt); [INFO] [stdout] 982 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1025:12 [INFO] [stdout] | [INFO] [stdout] 1025 | 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:1028:9 [INFO] [stdout] | [INFO] [stdout] 1028 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1025 ~ match self.session.as_mut() { Some(session) => { [INFO] [stdout] 1026 | let summary_prompt = self.summary_prompt.as_deref().unwrap_or(SUMMARY_PROMPT); [INFO] [stdout] 1027 | session.compress(format!("{}{}", summary_prompt, summary)); [INFO] [stdout] 1028 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1093:12 [INFO] [stdout] | [INFO] [stdout] 1093 | 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:1095:9 [INFO] [stdout] | [INFO] [stdout] 1095 | } 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] 1093 ~ match &self.rag { Some(rag) => { [INFO] [stdout] 1094 | rag.export() [INFO] [stdout] 1095 ~ } _ => { [INFO] [stdout] 1096 | bail!("No RAG") [INFO] [stdout] 1097 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1203:12 [INFO] [stdout] | [INFO] [stdout] 1203 | 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:1205:9 [INFO] [stdout] | [INFO] [stdout] 1205 | } 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] 1203 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1204 | agent.export() [INFO] [stdout] 1205 ~ } _ => { [INFO] [stdout] 1206 | bail!("No agent") [INFO] [stdout] 1207 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1211:12 [INFO] [stdout] | [INFO] [stdout] 1211 | 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:1213:9 [INFO] [stdout] | [INFO] [stdout] 1213 | } 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] 1211 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1212 | Ok(agent.banner()) [INFO] [stdout] 1213 ~ } _ => { [INFO] [stdout] 1214 | bail!("No agent") [INFO] [stdout] 1215 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1292:31 [INFO] [stdout] | [INFO] [stdout] 1292 | } 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:1299:21 [INFO] [stdout] | [INFO] [stdout] 1299 | } 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] 1292 ~ } else { match self.mapping_tools.get(item) { Some(values) => { [INFO] [stdout] 1293 | tool_names.extend( [INFO] [stdout] ... [INFO] [stdout] 1298 | ) [INFO] [stdout] 1299 ~ } _ => if declaration_names.contains(item) { [INFO] [stdout] 1300 | tool_names.insert(item.to_string()); [INFO] [stdout] 1301 ~ }}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1317:16 [INFO] [stdout] | [INFO] [stdout] 1317 | 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:1335:13 [INFO] [stdout] | [INFO] [stdout] 1335 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1317 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1318 | let mut agent_functions = agent.functions().declarations().to_vec(); [INFO] [stdout] ... [INFO] [stdout] 1334 | functions = agent_functions; [INFO] [stdout] 1335 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1423:43 [INFO] [stdout] | [INFO] [stdout] 1423 | 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:1425:21 [INFO] [stdout] | [INFO] [stdout] 1425 | } 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] 1423 ~ let save_session = match &self.session { Some(session) => { [INFO] [stdout] 1424 | session.save_session() [INFO] [stdout] 1425 ~ } _ => { [INFO] [stdout] 1426 | self.save_session [INFO] [stdout] 1427 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1455:16 [INFO] [stdout] | [INFO] [stdout] 1455 | 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:1461:13 [INFO] [stdout] | [INFO] [stdout] 1461 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1455 ~ match &self.agent { Some(agent) => { [INFO] [stdout] 1456 | values = agent [INFO] [stdout] ... [INFO] [stdout] 1460 | .collect() [INFO] [stdout] 1461 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1786:16 [INFO] [stdout] | [INFO] [stdout] 1786 | if let Ok(v) = serde_json::from_str(&v) { [INFO] [stdout] | ^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:1788:13 [INFO] [stdout] | [INFO] [stdout] 1788 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1786 ~ match serde_json::from_str(&v) { Ok(v) => { [INFO] [stdout] 1787 | self.mapping_tools = v; [INFO] [stdout] 1788 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/mod.rs:1823:16 [INFO] [stdout] | [INFO] [stdout] 1823 | if let Ok(v) = serde_json::from_str(&v) { [INFO] [stdout] | ^^^^^^^^^^^^------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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:1825:13 [INFO] [stdout] | [INFO] [stdout] 1825 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 1823 ~ match serde_json::from_str(&v) { Ok(v) => { [INFO] [stdout] 1824 | self.document_loaders = v; [INFO] [stdout] 1825 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:147:16 [INFO] [stdout] | [INFO] [stdout] 147 | 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: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 rag { Some(rag) => { [INFO] [stdout] 148 | let result = [INFO] [stdout] ... [INFO] [stdout] 151 | self.rag_name = Some(rag.name().to_string()); [INFO] [stdout] 152 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:199:31 [INFO] [stdout] | [INFO] [stdout] 199 | 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:201:9 [INFO] [stdout] | [INFO] [stdout] 201 | } 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] 199 ~ let mut messages = match self.session(&self.config.read().session) { Some(session) => { [INFO] [stdout] 200 | session.build_messages(self) [INFO] [stdout] 201 ~ } _ => { [INFO] [stdout] 202 | self.role().build_messages(self) [INFO] [stdout] 203 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/input.rs:214:12 [INFO] [stdout] | [INFO] [stdout] 214 | 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:216:9 [INFO] [stdout] | [INFO] [stdout] 216 | } 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] 214 ~ match self.session(&self.config.read().session) { Some(session) => { [INFO] [stdout] 215 | session.echo_messages(self) [INFO] [stdout] 216 ~ } _ => { [INFO] [stdout] 217 | self.role().echo_messages(self) [INFO] [stdout] 218 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/role.rs:95:16 [INFO] [stdout] | [INFO] [stdout] 95 | if let (Some(metadata_value), Some(prompt_value)) = (caps.get(1), caps.get(2)) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/role.rs:98:13 [INFO] [stdout] | [INFO] [stdout] 98 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 95 ~ match (caps.get(1), caps.get(2)) { (Some(metadata_value), Some(prompt_value)) => { [INFO] [stdout] 96 | metadata = metadata_value.as_str().trim(); [INFO] [stdout] 97 | prompt = prompt_value.as_str().trim(); [INFO] [stdout] 98 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/role.rs:106:16 [INFO] [stdout] | [INFO] [stdout] 106 | if let Ok(value) = serde_yaml::from_str::(metadata) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [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/role.rs:118:13 [INFO] [stdout] | [INFO] [stdout] 118 | } [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 serde_yaml::from_str::(metadata) { Ok(value) => { [INFO] [stdout] 107 | if let Some(value) = value.as_object() { [INFO] [stdout] ... [INFO] [stdout] 117 | } [INFO] [stdout] 118 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/config/role.rs:107:20 [INFO] [stdout] | [INFO] [stdout] 107 | if let Some(value) = value.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/config/role.rs:117:17 [INFO] [stdout] | [INFO] [stdout] 117 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 107 ~ match value.as_object() { Some(value) => { [INFO] [stdout] 108 | for (key, value) in value { [INFO] [stdout] ... [INFO] [stdout] 116 | } [INFO] [stdout] 117 ~ } _ => {}} [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:202:19 [INFO] [stdout] | [INFO] [stdout] 202 | } 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:207:9 [INFO] [stdout] | [INFO] [stdout] 207 | } 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] 202 ~ } else { match self.arguments.as_str() { Some(arguments) => { [INFO] [stdout] 203 | let arguments: Value = serde_json::from_str(arguments).map_err(|_| { [INFO] [stdout] ... [INFO] [stdout] 206 | arguments [INFO] [stdout] 207 ~ } _ => { [INFO] [stdout] 208 | bail!( [INFO] [stdout] ... [INFO] [stdout] 211 | ); [INFO] [stdout] 212 ~ }}}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rag/mod.rs:412:24 [INFO] [stdout] | [INFO] [stdout] 412 | 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:415:21 [INFO] [stdout] | [INFO] [stdout] 415 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 412 ~ match self.data.get(id) { Some(document) => { [INFO] [stdout] 413 | documents_ids.push(id); [INFO] [stdout] 414 | documents.push(document.page_content.to_string()); [INFO] [stdout] 415 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/rag/mod.rs:580:16 [INFO] [stdout] | [INFO] [stdout] 580 | 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:585:13 [INFO] [stdout] | [INFO] [stdout] 585 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 580 ~ match self.files.swap_remove(&file_id) { Some(file) => { [INFO] [stdout] 581 | for (document_index, _) in file.documents.iter().enumerate() { [INFO] [stdout] ... [INFO] [stdout] 584 | } [INFO] [stdout] 585 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:125:28 [INFO] [stdout] | [INFO] [stdout] 125 | 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:127:25 [INFO] [stdout] | [INFO] [stdout] 127 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 125 ~ match self.syntax_set.find_syntax_by_first_line(line) { Some(syntax) => { [INFO] [stdout] 126 | code_syntax = Some(syntax.clone()); [INFO] [stdout] 127 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/render/markdown.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 146 | 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:151:13 [INFO] [stdout] | [INFO] [stdout] 151 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 146 ~ match highlighter.highlight_line(trimmed_line, &self.syntax_set) { Ok(ranges) => { [INFO] [stdout] 147 | line_highlighted = Some(format!( [INFO] [stdout] ... [INFO] [stdout] 150 | )) [INFO] [stdout] 151 ~ } _ => {}} [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:220:16 [INFO] [stdout] | [INFO] [stdout] 220 | 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:222:13 [INFO] [stdout] | [INFO] [stdout] 222 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 220 ~ match captures.get(1) { Some(text_match) => { [INFO] [stdout] 221 | line = text_match.as_str(); [INFO] [stdout] 222 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/serve.rs:328:27 [INFO] [stdout] | [INFO] [stdout] 328 | while let Some(reply_event) = sse_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:342:21 [INFO] [stdout] | [INFO] [stdout] 342 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/utils/command.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 15 | 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:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 15 ~ match std::fs::read_to_string("/etc/os-release") { Ok(contents) => { [INFO] [stdout] 16 | for line in contents.lines() { [INFO] [stdout] ... [INFO] [stdout] 20 | } [INFO] [stdout] 21 ~ } _ => {}} [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:124:23 [INFO] [stdout] | [INFO] [stdout] 124 | 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:127:17 [INFO] [stdout] | [INFO] [stdout] 127 | } [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 93 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.71s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking aichat v0.21.1 (/tmp/fixit) [INFO] [stdout] error[E0133]: call to unsafe function `set_var` is unsafe and requires unsafe block [INFO] [stdout] --> src/config/mod.rs:1895:13 [INFO] [stdout] | [INFO] [stdout] 1895 | 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:1895:13 [INFO] [stdout] | [INFO] [stdout] 1895 | 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" "2d9c6aed17cb29be5024a4c2ad6e417fcf325bfa7ad142415c8c9c8a4adee1ed", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2d9c6aed17cb29be5024a4c2ad6e417fcf325bfa7ad142415c8c9c8a4adee1ed", kill_on_drop: false }` [INFO] [stdout] 2d9c6aed17cb29be5024a4c2ad6e417fcf325bfa7ad142415c8c9c8a4adee1ed