[INFO] cloning repository https://github.com/Rice-Rocket/rusty-pbrt [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Rice-Rocket/rusty-pbrt" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRice-Rocket%2Frusty-pbrt", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRice-Rocket%2Frusty-pbrt'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b450b9f53de381e83a7dda0692b0d4255741577c [INFO] checking Rice-Rocket/rusty-pbrt/b450b9f53de381e83a7dda0692b0d4255741577c against try#ccf408f4326a858c00dd845a64a86b16f360a801 for pr-129466-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FRice-Rocket%2Frusty-pbrt" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Rice-Rocket/rusty-pbrt 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] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/Rice-Rocket/rusty-pbrt [INFO] finished tweaking git repo https://github.com/Rice-Rocket/rusty-pbrt [INFO] tweaked toml for git repo https://github.com/Rice-Rocket/rusty-pbrt written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Rice-Rocket/rusty-pbrt 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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 842000cdc4ff7a64726466ebb596902d4a2df99ed7b746b44fa85fd289132c87 [INFO] running `Command { std: "docker" "start" "-a" "842000cdc4ff7a64726466ebb596902d4a2df99ed7b746b44fa85fd289132c87", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "842000cdc4ff7a64726466ebb596902d4a2df99ed7b746b44fa85fd289132c87", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "842000cdc4ff7a64726466ebb596902d4a2df99ed7b746b44fa85fd289132c87", kill_on_drop: false }` [INFO] [stdout] 842000cdc4ff7a64726466ebb596902d4a2df99ed7b746b44fa85fd289132c87 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+ccf408f4326a858c00dd845a64a86b16f360a801" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 82479309abc767f00d51f7b87c36b5dd062c29f58926db81a1c9b9d618ceb0a2 [INFO] running `Command { std: "docker" "start" "-a" "82479309abc767f00d51f7b87c36b5dd062c29f58926db81a1c9b9d618ceb0a2", 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 autocfg v1.2.0 [INFO] [stderr] Compiling version_check v0.9.5 [INFO] [stderr] Compiling serde v1.0.208 [INFO] [stderr] Compiling libc v0.2.155 [INFO] [stderr] Compiling crossbeam-utils v0.8.20 [INFO] [stderr] Compiling semver v1.0.23 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling rustix v0.38.34 [INFO] [stderr] Compiling bitflags v2.6.0 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Compiling serde_json v1.0.128 [INFO] [stderr] Compiling itoa v1.0.11 [INFO] [stderr] Compiling pulldown-cmark v0.9.6 [INFO] [stderr] Compiling linux-raw-sys v0.4.14 [INFO] [stderr] Checking once_cell v1.19.0 [INFO] [stderr] Compiling syn v2.0.68 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling fastrand v2.1.1 [INFO] [stderr] Checking simd-adler32 v0.3.7 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling bytecount v0.6.8 [INFO] [stderr] Compiling glob v0.3.1 [INFO] [stderr] Checking scopeguard v1.2.0 [INFO] [stderr] Checking utf8parse v0.2.2 [INFO] [stderr] Compiling unicase v2.7.0 [INFO] [stderr] Compiling error-chain v0.12.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling ahash v0.8.11 [INFO] [stderr] Checking anstyle-parse v0.2.5 [INFO] [stderr] Checking is_terminal_polyfill v1.70.1 [INFO] [stderr] Checking adler2 v2.0.0 [INFO] [stderr] Checking colorchoice v1.0.2 [INFO] [stderr] Checking anstyle v1.0.8 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling peg-runtime v0.6.3 [INFO] [stderr] Checking zerocopy v0.7.35 [INFO] [stderr] Checking either v1.13.0 [INFO] [stderr] Checking anstyle-query v1.1.1 [INFO] [stderr] Compiling portable-atomic v1.7.0 [INFO] [stderr] Checking crossbeam-epoch v0.9.18 [INFO] [stderr] Checking anstream v0.6.15 [INFO] [stderr] Checking miniz_oxide v0.8.0 [INFO] [stderr] Checking spin v0.9.8 [INFO] [stderr] Checking miniz_oxide v0.7.4 [INFO] [stderr] Checking crc32fast v1.4.2 [INFO] [stderr] Compiling peg-macros v0.6.3 [INFO] [stderr] Checking clap_lex v0.7.2 [INFO] [stderr] Checking unicode-width v0.1.13 [INFO] [stderr] Checking strsim v0.11.1 [INFO] [stderr] Checking crossbeam-deque v0.8.5 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling thiserror v1.0.61 [INFO] [stderr] Checking lazy_static v1.5.0 [INFO] [stderr] Checking flume v0.11.0 [INFO] [stderr] Checking clap_builder v4.5.15 [INFO] [stderr] Checking getrandom v0.2.15 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking flate2 v1.0.33 [INFO] [stderr] Checking console v0.15.8 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking fdeflate v0.3.4 [INFO] [stderr] Checking zune-inflate v0.2.54 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking num-integer v0.1.46 [INFO] [stderr] Checking num-complex v0.4.6 [INFO] [stderr] Checking rayon v1.10.0 [INFO] [stderr] Checking approx v0.5.1 [INFO] [stderr] Checking tracing-core v0.1.32 [INFO] [stderr] Checking half v2.4.1 [INFO] [stderr] Checking numtoa v0.1.0 [INFO] [stderr] Checking number_prefix v0.4.0 [INFO] [stderr] Checking byteorder v1.5.0 [INFO] [stderr] Checking num-bigint v0.4.6 [INFO] [stderr] Checking num-iter v0.1.45 [INFO] [stderr] Checking bit_field v0.10.2 [INFO] [stderr] Compiling hexf-parse v0.2.1 [INFO] [stderr] Checking smallvec v1.13.2 [INFO] [stderr] Checking pin-project-lite v0.2.14 [INFO] [stderr] Checking linked-hash-map v0.5.6 [INFO] [stderr] Checking png v0.17.13 [INFO] [stderr] Checking termion v4.0.2 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking ordered-float v4.2.0 [INFO] [stderr] Checking fast_polynomial v0.3.0 [INFO] [stderr] Checking exr v1.72.0 [INFO] [stderr] Checking itertools v0.13.0 [INFO] [stderr] Checking thread_local v1.1.8 [INFO] [stderr] Checking bumpalo v3.16.0 [INFO] [stderr] Checking rgb2spec v0.1.1 [INFO] [stderr] Checking arrayvec v0.7.4 [INFO] [stderr] Checking peg v0.6.3 [INFO] [stderr] Checking pdqselect v0.1.1 [INFO] [stderr] Checking auto_ops v0.3.0 [INFO] [stderr] Checking glam v0.28.0 [INFO] [stderr] Checking float-cmp v0.9.0 [INFO] [stderr] Compiling hexf v0.2.1 [INFO] [stderr] Compiling tempfile v3.12.0 [INFO] [stderr] Checking num-rational v0.4.2 [INFO] [stderr] Checking num v0.4.3 [INFO] [stderr] Checking indicatif v0.17.8 [INFO] [stderr] Checking string-interner v0.17.0 [INFO] [stderr] Compiling serde_derive v1.0.208 [INFO] [stderr] Compiling tracing-attributes v0.1.27 [INFO] [stderr] Compiling thiserror-impl v1.0.61 [INFO] [stderr] Compiling clap_derive v4.5.13 [INFO] [stderr] Checking tracing v0.1.40 [INFO] [stderr] Checking clap v4.5.16 [INFO] [stderr] Compiling cargo-platform v0.1.8 [INFO] [stderr] Compiling cargo_metadata v0.14.2 [INFO] [stderr] Compiling skeptic v0.13.7 [INFO] [stderr] Compiling ply-rs v0.1.3 [INFO] [stderr] Checking cray v0.1.0 (/tmp/fixit) [INFO] [stderr] Migrating src/lib.rs from 2021 edition to 2024 [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `cray` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/math/hashing.rs [INFO] [stderr] * src/math/mat.rs [INFO] [stderr] * src/math/numeric.rs [INFO] [stderr] * src/math/swizzle.rs [INFO] [stderr] * src/math/vect.rs [INFO] [stderr] * src/media/iterator.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/math/numeric.rs:81:19 [INFO] [stderr] | [INFO] [stderr] 81 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:81:36 [INFO] [stderr] | [INFO] [stderr] 81 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:106:19 [INFO] [stderr] | [INFO] [stderr] 106 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:106:36 [INFO] [stderr] | [INFO] [stderr] 106 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:125:19 [INFO] [stderr] | [INFO] [stderr] 125 | ($($ty:ident, $half:expr_2021, $eps:expr_2021, $beps: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/math/numeric.rs:125:36 [INFO] [stderr] | [INFO] [stderr] 125 | ($($ty:ident, $half:expr_2021, $eps:expr_2021, $beps: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/math/numeric.rs:125:52 [INFO] [stderr] | [INFO] [stderr] 125 | ($($ty:ident, $half:expr_2021, $eps:expr_2021, $beps: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/math/numeric.rs:190:19 [INFO] [stderr] | [INFO] [stderr] 190 | ($($ty:ident: $nan: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/math/numeric.rs:211:19 [INFO] [stderr] | [INFO] [stderr] 211 | ($ty:ident; $($d:expr_2021),*) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/math/sampling.rs:515:21 [INFO] [stdout] | [INFO] [stdout] 515 | if self.rng.gen::() < p { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/math/sampling.rs:527:21 [INFO] [stdout] | [INFO] [stdout] 527 | if self.rng.gen::() < p { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/camera/filter.rs:386:56 [INFO] [stdout] | [INFO] [stdout] 386 | ... let u = Point2f::new((x as Float + rng.gen::()) / SQRT_SAMPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as... [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stderr] --> src/math/mat.rs:8:32 [INFO] [stderr] | [INFO] [stderr] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr_2021; $($i:expr_2021;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/camera/filter.rs:386:115 [INFO] [stdout] | [INFO] [stdout] 386 | ...MPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as Float); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/media/mod.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | u = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/math/mat.rs:8:48 [INFO] [stderr] | [INFO] [stderr] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr_2021; $($i:expr_2021;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/material/mod.rs:331:21 [INFO] [stdout] | [INFO] [stdout] 331 | let u = rng.gen::(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | self.rng.gen() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [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/math/mat.rs:8:66 [INFO] [stderr] | [INFO] [stderr] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr_2021; $($i:expr_2021;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [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/math/mat.rs:8:81 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 134 | x: self.rng.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr_2021; $($i:expr_2021;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [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/math/mat.rs:117:38 [INFO] [stderr] | [INFO] [stderr] 117 | ($name:ident -> $($vect:ident: $($i: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/math/vect.rs:130:94 [INFO] [stderr] | [INFO] [stderr] 130 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:142:108 [INFO] [stderr] | [INFO] [stderr] 142 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> $output:ident { $f:expr_2021 } where $($where_... [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | y: self.rng.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:222:46 [INFO] [stdout] | [INFO] [stdout] 222 | let delta= if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:237:44 [INFO] [stdout] | [INFO] [stdout] 237 | let dx = if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/math/vect.rs:157:74 [INFO] [stderr] | [INFO] [stderr] 157 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:168:77 [INFO] [stderr] | [INFO] [stderr] 168 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:182:74 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:238:44 [INFO] [stdout] | [INFO] [stdout] 238 | let dy = if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/bxdf/layered.rs:232:32 [INFO] [stdout] | [INFO] [stdout] 232 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 182 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/bxdf/layered.rs:432:32 [INFO] [stdout] | [INFO] [stdout] 432 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/bxdf/layered.rs:564:32 [INFO] [stdout] | [INFO] [stdout] 564 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/simple_vol_path.rs:65:54 [INFO] [stdout] | [INFO] [stdout] 65 | ... let u = Point2f::new(rng.gen(), rng.gen()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [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/math/vect.rs:193:77 [INFO] [stderr] | [INFO] [stderr] 193 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:207:74 [INFO] [stderr] | [INFO] [stderr] 207 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/simple_vol_path.rs:65:65 [INFO] [stdout] | [INFO] [stdout] 65 | ... let u = Point2f::new(rng.gen(), rng.gen()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/simple_vol_path.rs:78:42 [INFO] [stdout] | [INFO] [stdout] 78 | ... u_mode = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/vol_path.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | let u: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/math/vect.rs:213:77 [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/vol_path.rs:123:36 [INFO] [stdout] | [INFO] [stdout] 123 | ... if rng.gen::() < q { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 213 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [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] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/vol_path.rs:222:45 [INFO] [stdout] | [INFO] [stdout] 222 | let um: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | ($($ty:ident, $vmin:expr, $vmax: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] 81 | ($($ty:ident, $vmin:expr_2021, $vmax:expr);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:81:37 [INFO] [stdout] | [INFO] [stdout] 81 | ($($ty:ident, $vmin:expr, $vmax: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] 81 | ($($ty:ident, $vmin:expr, $vmax:expr_2021);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/math/vect.rs:547:19 [INFO] [stderr] | [INFO] [stderr] 547 | ($($ty:ident; $dim:expr_2021; $($index:tt / $axis:ident => $v:ident),*);* $(;)*) => { [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/math/swizzle.rs:4:49 [INFO] [stderr] | [INFO] [stderr] 4 | ($($ty:ident: $($name:ident -> $out:ident[$($i: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/math/hashing.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | ($($arg:expr_2021),*) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | ($($ty:ident, $vmin:expr, $vmax: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] 106 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:106:37 [INFO] [stdout] | [INFO] [stdout] 106 | ($($ty:ident, $vmin:expr, $vmax: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] 106 | ($($ty:ident, $vmin:expr, $vmax:expr_2021);* $(;)*) => { [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/math/numeric.rs:125:25 [INFO] [stdout] | [INFO] [stdout] 125 | ($($ty:ident, $half:expr, $eps:expr, $beps: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] 125 | ($($ty:ident, $half:expr_2021, $eps:expr, $beps:expr);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:125:36 [INFO] [stdout] | [INFO] [stdout] 125 | ($($ty:ident, $half:expr, $eps:expr, $beps: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] 125 | ($($ty:ident, $half:expr, $eps:expr_2021, $beps:expr);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | ($($ty:ident, $half:expr, $eps:expr, $beps: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] 125 | ($($ty:ident, $half:expr, $eps:expr, $beps:expr_2021);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | ($($ty:ident: $nan: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] 190 | ($($ty:ident: $nan:expr_2021),* $(,)*) => { [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/math/numeric.rs:211:22 [INFO] [stdout] | [INFO] [stdout] 211 | ($ty:ident; $($d: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] 211 | ($ty:ident; $($d:expr_2021),*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/mat.rs:8:37 [INFO] [stdout] | [INFO] [stdout] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/math/hashing.rs:65:16 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/mat.rs:8:48 [INFO] [stdout] | [INFO] [stdout] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr_2021; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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/math/mat.rs:8:59 [INFO] [stdout] | [INFO] [stdout] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr_2021;$($j:expr;$m:ident)-*),* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] 65 | (@genkey $($arg:expr_2021),*) => { [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/mat.rs:8:69 [INFO] [stdout] | [INFO] [stdout] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [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/math/mat.rs:117:41 [INFO] [stdout] | [INFO] [stdout] 117 | ($name:ident -> $($vect:ident: $($i: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] 117 | ($name:ident -> $($vect:ident: $($i:expr_2021),*);*) => { [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/math/vect.rs:130:97 [INFO] [stdout] | [INFO] [stdout] 130 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> { $f:expr } where $($where_clause:tt)*) => { [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] 130 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:142:111 [INFO] [stdout] | [INFO] [stdout] 142 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> $output:ident { $f:expr } where $($where_claus... [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] 142 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> $output:ident { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:157:77 [INFO] [stdout] | [INFO] [stdout] 157 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr } where $($where_clause:tt)*) => { [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] 157 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:168:80 [INFO] [stdout] | [INFO] [stdout] 168 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr } where $($where_clause:tt)*) => { [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] 168 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:182:77 [INFO] [stdout] | [INFO] [stdout] 182 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr } where $($where_clause:tt)*) => { [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] 182 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error[E0658]: fragment specifier `expr_2021` is unstable [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:193:80 [INFO] [stdout] | [INFO] [stdout] 193 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr } where $($where_clause:tt)*) => { [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] 193 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] --> src/math/hashing.rs:78:6 [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:207:77 [INFO] [stdout] | [INFO] [stdout] 207 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr } where $($where_clause:tt)*) => { [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] 207 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] | [INFO] [stderr] 78 | ($v:expr_2021 => $to:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/media/iterator.rs:64:10 [INFO] [stderr] | [INFO] [stderr] 57 | impl<'a> DDAMajorantIterator<'a> { [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] ... [INFO] [stderr] 64 | ) -> DDAMajorantIterator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 27 previous errors; 1 warning emitted [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stderr] Original diagnostics will follow. [INFO] [stderr] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:213:80 [INFO] [stdout] | [INFO] [stdout] 213 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr } where $($where_clause:tt)*) => { [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] 213 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:547:24 [INFO] [stdout] | [INFO] [stdout] 547 | ($($ty:ident; $dim:expr; $($index:tt / $axis:ident => $v:ident),*);* $(;)*) => { [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] 547 | ($($ty:ident; $dim:expr_2021; $($index:tt / $axis:ident => $v:ident),*);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/swizzle.rs:4:52 [INFO] [stdout] | [INFO] [stdout] 4 | ($($ty:ident: $($name:ident -> $out:ident[$($i: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] 4 | ($($ty:ident: $($name:ident -> $out:ident[$($i: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/math/hashing.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | ($($arg: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] 60 | ($($arg: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/math/hashing.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | (@genkey $($arg: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] 65 | (@genkey $($arg: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/math/hashing.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | ($v:expr => $to:ident) => { [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] 78 | ($v:expr_2021 => $to:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/media/iterator.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 57 | impl<'a> DDAMajorantIterator<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 64 | ) -> DDAMajorantIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(ref mi) = self.medium_interface { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 55 ~ match self.medium_interface { Some(ref mi) => { [INFO] [stdout] 56 | if w.dot(self.n) > 0.0 { mi.outside.clone() } else { mi.inside.clone() } [INFO] [stdout] 57 ~ } _ => { [INFO] [stdout] 58 | self.medium.clone() [INFO] [stdout] 59 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some(ref mi) = self.medium_interface { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } 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] 63 ~ match self.medium_interface { Some(ref mi) => { [INFO] [stdout] 64 | debug_assert_eq!(mi.inside, mi.outside); [INFO] [stdout] 65 | mi.inside.clone() [INFO] [stdout] 66 ~ } _ => { [INFO] [stdout] 67 | self.medium.clone() [INFO] [stdout] 68 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:275:35 [INFO] [stdout] | [INFO] [stdout] 275 | let (dpdu, dpdv) = if let Some(displacement) = displacement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | } 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] 275 ~ let (dpdu, dpdv) = match displacement { Some(displacement) => { [INFO] [stdout] 276 | material::bump_map( [INFO] [stdout] ... [INFO] [stdout] 280 | ) [INFO] [stdout] 281 ~ } _ => { [INFO] [stdout] 282 | let normal_map = normal_map.unwrap(); [INFO] [stdout] ... [INFO] [stdout] 286 | ) [INFO] [stdout] 287 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:433:12 [INFO] [stdout] | [INFO] [stdout] 433 | if let Some(ref area_light) = self.area_light { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | } 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] 433 ~ match self.area_light { Some(ref area_light) => { [INFO] [stdout] 434 | area_light.as_ref().l(self.position(), self.interaction.n, self.interaction.uv, w, lambda) [INFO] [stdout] 435 ~ } _ => { [INFO] [stdout] 436 | SampledSpectrum::from_const(0.0) [INFO] [stdout] 437 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/color/spectrum.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(pls) = pls { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/color/spectrum.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | } 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] 40 ~ match pls { Some(pls) => { [INFO] [stdout] 41 | let spectrum = Arc::new(pls); [INFO] [stdout] 42 | cached_spectra.insert(filename.to_string(), spectrum.clone()); [INFO] [stdout] 43 | Some(spectrum) [INFO] [stdout] 44 ~ } _ => { [INFO] [stdout] 45 | None [INFO] [stdout] 46 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/color/rgb_xyz.rs:469:20 [INFO] [stdout] | [INFO] [stdout] 469 | if let Some(encoding) = gamma_encoding_cache.0.get(&gamma) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/color/rgb_xyz.rs:471:17 [INFO] [stdout] | [INFO] [stdout] 471 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 469 ~ match gamma_encoding_cache.0.get(&gamma) { Some(encoding) => { [INFO] [stdout] 470 | encoding.clone() [INFO] [stdout] 471 ~ } _ => { [INFO] [stdout] 472 | let encoding = ColorEncodingPtr(Arc::new(ColorEncoding::Gamma(GammaColorEncoding::new(gamma.0)))); [INFO] [stdout] 473 | gamma_encoding_cache.0.insert(gamma, encoding.clone()); [INFO] [stdout] 474 | encoding [INFO] [stdout] 475 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/media/homogeneous.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | if let Some((sa, ss)) = get_medium_scattering_properties(&preset) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/media/homogeneous.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | } 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] 27 ~ match get_medium_scattering_properties(&preset) { Some((sa, ss)) => { [INFO] [stdout] 28 | sig_a = Some(sa); [INFO] [stdout] 29 | sig_s = Some(ss); [INFO] [stdout] 30 ~ } _ => { [INFO] [stdout] 31 | warn!("{}: material preset {} not found", loc, preset); [INFO] [stdout] 32 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/image.rs:718:20 [INFO] [stdout] | [INFO] [stdout] 718 | if let ImageData::Float32(ref data) = &image.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/image.rs:723:17 [INFO] [stdout] | [INFO] [stdout] 723 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 718 ~ match &image.data { ImageData::Float32(ref data) => { [INFO] [stdout] 719 | pyramid[i as usize].copy_rect_in( [INFO] [stdout] ... [INFO] [stdout] 722 | ); [INFO] [stdout] 723 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/image.rs:1055:27 [INFO] [stdout] | [INFO] [stdout] 1055 | let encoding = if let Some(encoding) = encoding { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/image.rs:1057:9 [INFO] [stdout] | [INFO] [stdout] 1057 | } 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] 1055 ~ let encoding = match encoding { Some(encoding) => { [INFO] [stdout] 1056 | encoding [INFO] [stdout] 1057 ~ } _ => { [INFO] [stdout] 1058 | ColorEncoding::get("srgb", None).clone() [INFO] [stdout] 1059 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/image.rs:1360:20 [INFO] [stdout] | [INFO] [stdout] 1360 | if let Err(e) = image.write().to_file(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/image.rs:1372:17 [INFO] [stdout] | [INFO] [stdout] 1372 | } 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] 1360 ~ match image.write().to_file(path) { Err(e) => { [INFO] [stdout] 1361 | let errorkind = match e { [INFO] [stdout] ... [INFO] [stdout] 1371 | )) [INFO] [stdout] 1372 ~ } _ => { [INFO] [stdout] 1373 | Ok(()) [INFO] [stdout] 1374 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/image.rs:1392:20 [INFO] [stdout] | [INFO] [stdout] 1392 | if let Err(e) = image.write().to_file(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/image.rs:1404:17 [INFO] [stdout] | [INFO] [stdout] 1404 | } 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] 1392 ~ match image.write().to_file(path) { Err(e) => { [INFO] [stdout] 1393 | let errorkind = match e { [INFO] [stdout] ... [INFO] [stdout] 1403 | )) [INFO] [stdout] 1404 ~ } _ => { [INFO] [stdout] 1405 | Ok(()) [INFO] [stdout] 1406 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:582:33 [INFO] [stdout] | [INFO] [stdout] 582 | let cs = if let Some(cs) = ¶m.color_space { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:584:21 [INFO] [stdout] | [INFO] [stdout] 584 | } 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] 582 ~ let cs = match ¶m.color_space { Some(cs) => { [INFO] [stdout] 583 | cs.clone() [INFO] [stdout] 584 ~ } _ => { [INFO] [stdout] 585 | color_space.clone() [INFO] [stdout] 586 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:918:12 [INFO] [stdout] | [INFO] [stdout] 918 | if let Some(tex) = tex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:920:9 [INFO] [stdout] | [INFO] [stdout] 920 | } 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] 918 ~ match tex { Some(tex) => { [INFO] [stdout] 919 | tex [INFO] [stdout] 920 ~ } _ => { [INFO] [stdout] 921 | Arc::new(FloatTexture::Constant(FloatConstantTexture::new( [INFO] [stdout] 922 | default_value, [INFO] [stdout] 923 | ))) [INFO] [stdout] 924 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:974:12 [INFO] [stdout] | [INFO] [stdout] 974 | if let Some(tex) = tex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 975 | Some(tex) [INFO] [stdout] 976 | } else if let Some(default_value) = default_value { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:976:9 [INFO] [stdout] | [INFO] [stdout] 976 | } else if let Some(default_value) = default_value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:980:9 [INFO] [stdout] | [INFO] [stdout] 980 | } 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] 974 ~ match tex { Some(tex) => { [INFO] [stdout] 975 | Some(tex) [INFO] [stdout] 976 ~ } _ => { match default_value { Some(default_value) => { [INFO] [stdout] 977 | return Some(Arc::new(SpectrumTexture::Constant( [INFO] [stdout] 978 | SpectrumConstantTexture::new(default_value.clone()), [INFO] [stdout] 979 | ))); [INFO] [stdout] 980 ~ } _ => { [INFO] [stdout] 981 | return None; [INFO] [stdout] 982 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator::Err>> + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/reader/param.rs:73:40 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn items(&self) -> impl Iterator::Err>> + 'a { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/reader/param.rs:73:30 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn items(&self) -> impl Iterator::Err>> + 'a { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 73 | pub fn items(&self) -> impl Iterator::Err>> + 'a + use<'a, T> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader/scene.rs:1350:16 [INFO] [stdout] | [INFO] [stdout] 1350 | if let Some(active_instance_definition) = &mut self.active_instance_definition { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/scene.rs:1352:13 [INFO] [stdout] | [INFO] [stdout] 1352 | } 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] 1350 ~ match &mut self.active_instance_definition { Some(active_instance_definition) => { [INFO] [stdout] 1351 | active_instance_definition.entity.shapes.push(entity) [INFO] [stdout] 1352 ~ } _ => { [INFO] [stdout] 1353 | self.shapes.push(entity) [INFO] [stdout] 1354 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/texture.rs:747:12 [INFO] [stdout] | [INFO] [stdout] 747 | if let Some(cs) = self.base.mipmap.get_color_space() [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/texture.rs:761:9 [INFO] [stdout] | [INFO] [stdout] 761 | } 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] 747 ~ match self.base.mipmap.get_color_space() [INFO] [stdout] 748 ~ { Some(cs) => { [INFO] [stdout] 749 | match self.spectrum_type [INFO] [stdout] ... [INFO] [stdout] 760 | } [INFO] [stdout] 761 ~ } _ => { [INFO] [stdout] 762 | // If no colorspace, then it should be a one-channel texture [INFO] [stdout] 763 | debug_assert!(rgb[0] == rgb[1] && rgb[1] == rgb[2]); [INFO] [stdout] 764 | SampledSpectrum::from_const(rgb[0]) [INFO] [stdout] 765 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mipmap.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(rgba_desc) = rgba_desc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 70 | } else if let Some(rgb_desc) = rgb_desc { [INFO] [stdout] | -------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mipmap.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | } else if let Some(rgb_desc) = rgb_desc { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mipmap.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | } 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] 51 ~ match rgba_desc { Some(rgba_desc) => { [INFO] [stdout] 52 | let mut all_one = true; [INFO] [stdout] ... [INFO] [stdout] 69 | } [INFO] [stdout] 70 ~ } _ => { match rgb_desc { Some(rgb_desc) => { [INFO] [stdout] 71 | image = image.select_channels(&rgb_desc); [INFO] [stdout] 72 ~ } _ => { [INFO] [stdout] 73 | panic!("{}: image doesn't have rgb channels", filename); [INFO] [stdout] 74 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mipmap.rs:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(rgb_desc) = rgb_desc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mipmap.rs:64:21 [INFO] [stdout] | [INFO] [stdout] 64 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match rgb_desc { Some(rgb_desc) => { [INFO] [stdout] 63 | image = image.select_channels(&rgb_desc); [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | panic!("{}: expected rgb channels", filename); [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primitive/bvh.rs:370:28 [INFO] [stdout] | [INFO] [stdout] 370 | if let Some(prim_si) = prim_si { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/primitive/bvh.rs:373:25 [INFO] [stdout] | [INFO] [stdout] 373 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 370 ~ match prim_si { Some(prim_si) => { [INFO] [stdout] 371 | t_max = prim_si.t_hit; [INFO] [stdout] 372 | si = Some(prim_si); [INFO] [stdout] 373 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primitive/bvh.rs:503:25 [INFO] [stdout] | [INFO] [stdout] 503 | let bounds = if let Some(ref right) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/primitive/bvh.rs:505:9 [INFO] [stdout] | [INFO] [stdout] 505 | } 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] 503 ~ let bounds = match right { Some(ref right) => { [INFO] [stdout] 504 | left.bounds.union(right.bounds) [INFO] [stdout] 505 ~ } _ => { [INFO] [stdout] 506 | left.bounds [INFO] [stdout] 507 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primitive/list.rs:41:16 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(i) = prim.intersect(ray, t_max) { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/primitive/list.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 41 ~ match prim.intersect(ray, t_max) { Some(i) => { [INFO] [stdout] 42 | if i.t_hit < t_closest { [INFO] [stdout] ... [INFO] [stdout] 45 | } [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/diffuse.rs:30:30 [INFO] [stdout] | [INFO] [stdout] 30 | let reflectance = if let Some(reflectance) = reflectance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/diffuse.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | } 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] 30 ~ let reflectance = match reflectance { Some(reflectance) => { [INFO] [stdout] 31 | reflectance [INFO] [stdout] 32 ~ } _ => { [INFO] [stdout] 33 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new( [INFO] [stdout] 34 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.5))), [INFO] [stdout] 35 | ))) [INFO] [stdout] 36 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/diffuse_transmission.rs:48:30 [INFO] [stdout] | [INFO] [stdout] 48 | let reflectance = if let Some(reflectance) = reflectance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/diffuse_transmission.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | } 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] 48 ~ let reflectance = match reflectance { Some(reflectance) => { [INFO] [stdout] 49 | reflectance [INFO] [stdout] 50 ~ } _ => { [INFO] [stdout] 51 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new( [INFO] [stdout] 52 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.25))), [INFO] [stdout] 53 | ))) [INFO] [stdout] 54 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/diffuse_transmission.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | let transmittance = if let Some(transmittance) = transmittance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/diffuse_transmission.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } 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] 64 ~ let transmittance = match transmittance { Some(transmittance) => { [INFO] [stdout] 65 | transmittance [INFO] [stdout] 66 ~ } _ => { [INFO] [stdout] 67 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new( [INFO] [stdout] 68 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.25))), [INFO] [stdout] 69 | ))) [INFO] [stdout] 70 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:63:30 [INFO] [stdout] | [INFO] [stdout] 63 | let u_roughness = if let Some(roughness) = parameters.get_float_texture_or_none("uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | } 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] 63 ~ let u_roughness = match parameters.get_float_texture_or_none("uroughness", textures) { Some(roughness) => { [INFO] [stdout] 64 | roughness [INFO] [stdout] 65 ~ } _ => { [INFO] [stdout] 66 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 67 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:68:30 [INFO] [stdout] | [INFO] [stdout] 68 | let v_roughness = if let Some(roughness) = parameters.get_float_texture_or_none("vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | } 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] 68 ~ let v_roughness = match parameters.get_float_texture_or_none("vroughness", textures) { Some(roughness) => { [INFO] [stdout] 69 | roughness [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 72 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:129:29 [INFO] [stdout] | [INFO] [stdout] 129 | let (etas, ks) = if let Some(eta) = &self.eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | } 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] 129 ~ let (etas, ks) = match &self.eta { Some(eta) => { [INFO] [stdout] 130 | let k = self.k.as_ref().expect("eta and k should be provided together"); [INFO] [stdout] ... [INFO] [stdout] 133 | (etas, ks) [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | let r = SampledSpectrum::clamp( [INFO] [stdout] ... [INFO] [stdout] 149 | (etas, ks) [INFO] [stdout] 150 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/dielectric.rs:33:30 [INFO] [stdout] | [INFO] [stdout] 33 | let u_roughness = if let Some(roughness) = parameters.get_float_texture_or_none("uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/dielectric.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | } 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] 33 ~ let u_roughness = match parameters.get_float_texture_or_none("uroughness", textures) { Some(roughness) => { [INFO] [stdout] 34 | roughness [INFO] [stdout] 35 ~ } _ => { [INFO] [stdout] 36 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 37 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/dielectric.rs:38:30 [INFO] [stdout] | [INFO] [stdout] 38 | let v_roughness = if let Some(roughness) = parameters.get_float_texture_or_none("vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/dielectric.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | } 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] 38 ~ let v_roughness = match parameters.get_float_texture_or_none("vroughness", textures) { Some(roughness) => { [INFO] [stdout] 39 | roughness [INFO] [stdout] 40 ~ } _ => { [INFO] [stdout] 41 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 42 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/thin_dielectric.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | let eta = if let Some(eta) = eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/thin_dielectric.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | } 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] 40 ~ let eta = match eta { Some(eta) => { [INFO] [stdout] 41 | eta [INFO] [stdout] 42 ~ } _ => { [INFO] [stdout] 43 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(1.5))) [INFO] [stdout] 44 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | ...if let Some(reflectance) = parameters.get_spectrum_texture("reflectance", None, SpectrumType::Albedo, cached_spectra, textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | } 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] 61 ~ let reflectance = match parameters.get_spectrum_texture("reflectance", None, SpectrumType::Albedo, cached_spectra, textures) { Some(reflectance) => { [INFO] [stdout] 62 | reflectance [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new(Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.5)))))) [INFO] [stdout] 65 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:67:30 [INFO] [stdout] | [INFO] [stdout] 67 | let u_roughness = if let Some(u_roughness) = parameters.get_float_texture_or_none("uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | } 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] 67 ~ let u_roughness = match parameters.get_float_texture_or_none("uroughness", textures) { Some(u_roughness) => { [INFO] [stdout] 68 | u_roughness [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 71 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:72:30 [INFO] [stdout] | [INFO] [stdout] 72 | let v_roughness = if let Some(v_roughness) = parameters.get_float_texture_or_none("vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 72 ~ let v_roughness = match parameters.get_float_texture_or_none("vroughness", textures) { Some(v_roughness) => { [INFO] [stdout] 73 | v_roughness [INFO] [stdout] 74 ~ } _ => { [INFO] [stdout] 75 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 76 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | let eta = if let Some(eta) = eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } 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] 86 ~ let eta = match eta { Some(eta) => { [INFO] [stdout] 87 | eta [INFO] [stdout] 88 ~ } _ => { [INFO] [stdout] 89 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(1.5))) [INFO] [stdout] 90 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let albedo = if let Some(albedo) = parameters.get_spectrum_texture("albedo", None, SpectrumType::Albedo, cached_spectra, textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | } 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] 96 ~ let albedo = match parameters.get_spectrum_texture("albedo", None, SpectrumType::Albedo, cached_spectra, textures) { Some(albedo) => { [INFO] [stdout] 97 | albedo [INFO] [stdout] 98 ~ } _ => { [INFO] [stdout] 99 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new(Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.0)))))) [INFO] [stdout] 100~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:73:40 [INFO] [stdout] | [INFO] [stdout] 73 | let interface_u_roughness = if let Some(u_rough) = parameters.get_float_texture_or_none("interface.uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | } 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] 73 ~ let interface_u_roughness = match parameters.get_float_texture_or_none("interface.uroughness", textures) { Some(u_rough) => { [INFO] [stdout] 74 | u_rough [INFO] [stdout] 75 ~ } _ => { [INFO] [stdout] 76 | parameters.get_float_texture("interface.roughness", 0.0, textures) [INFO] [stdout] 77 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:78:40 [INFO] [stdout] | [INFO] [stdout] 78 | let interface_v_roughness = if let Some(v_rough) = parameters.get_float_texture_or_none("interface.vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | } 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] 78 ~ let interface_v_roughness = match parameters.get_float_texture_or_none("interface.vroughness", textures) { Some(v_rough) => { [INFO] [stdout] 79 | v_rough [INFO] [stdout] 80 ~ } _ => { [INFO] [stdout] 81 | parameters.get_float_texture("interface.roughness", 0.0, textures) [INFO] [stdout] 82 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:92:32 [INFO] [stdout] | [INFO] [stdout] 92 | let interface_eta = if let Some(eta) = interface_eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | } 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] 92 ~ let interface_eta = match interface_eta { Some(eta) => { [INFO] [stdout] 93 | eta [INFO] [stdout] 94 ~ } _ => { [INFO] [stdout] 95 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(1.5))) [INFO] [stdout] 96 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | let conductor_u_roughness = if let Some(u_rough) = parameters.get_float_texture_or_none("conductor.uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | } 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] 98 ~ let conductor_u_roughness = match parameters.get_float_texture_or_none("conductor.uroughness", textures) { Some(u_rough) => { [INFO] [stdout] 99 | u_rough [INFO] [stdout] 100 ~ } _ => { [INFO] [stdout] 101 | parameters.get_float_texture("conductor.roughness", 0.0, textures) [INFO] [stdout] 102 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:103:40 [INFO] [stdout] | [INFO] [stdout] 103 | let conductor_v_roughness = if let Some(v_rough) = parameters.get_float_texture_or_none("conductor.vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ let conductor_v_roughness = match parameters.get_float_texture_or_none("conductor.vroughness", textures) { Some(v_rough) => { [INFO] [stdout] 104 | v_rough [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | parameters.get_float_texture("conductor.roughness", 0.0, textures) [INFO] [stdout] 107 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | let albedo = if let Some(albedo) = parameters.get_spectrum_texture("albedo", None, SpectrumType::Albedo, cached_spectra, textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | } 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 ~ let albedo = match parameters.get_spectrum_texture("albedo", None, SpectrumType::Albedo, cached_spectra, textures) { Some(albedo) => { [INFO] [stdout] 136 | albedo [INFO] [stdout] 137 ~ } _ => { [INFO] [stdout] 138 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new(Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.0)))))) [INFO] [stdout] 139 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:195:35 [INFO] [stdout] | [INFO] [stdout] 195 | let (mut ce, mut ck) = if let Some(conductor_eta) = &self.conductor_eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 200 | } 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] 195 ~ let (mut ce, mut ck) = match &self.conductor_eta { Some(conductor_eta) => { [INFO] [stdout] 196 | let k = self.k.as_ref().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 199 | (ce, ck) [INFO] [stdout] 200 ~ } _ => { [INFO] [stdout] 201 | let reflectance = self.reflectance.as_ref().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 205 | (ce, ck) [INFO] [stdout] 206 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/debug.rs:47:24 [INFO] [stdout] | [INFO] [stdout] 47 | let color = if let Some(color) = color { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/debug.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | } 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] 47 ~ let color = match color { Some(color) => { [INFO] [stdout] 48 | color [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new( [INFO] [stdout] 51 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.5))), [INFO] [stdout] 52 | ))) [INFO] [stdout] 53 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/debug.rs:103:20 [INFO] [stdout] | [INFO] [stdout] 103 | if let SpectrumTexture::Image(imt) = self.color.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/debug.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | } 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] 103 ~ match self.color.as_ref() { SpectrumTexture::Image(imt) => { [INFO] [stdout] 104 | let mut c = imt.base.mapping.map(&ctx.tex_ctx); [INFO] [stdout] ... [INFO] [stdout] 107 | Rgb::new(c.st.x, c.st.y, 0.0) [INFO] [stdout] 108 ~ } _ => { [INFO] [stdout] 109 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 110 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/debug.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | if let SpectrumTexture::Image(imt) = self.color.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/debug.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | } 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] 113 ~ match self.color.as_ref() { SpectrumTexture::Image(imt) => { [INFO] [stdout] 114 | let mut c = imt.base.mapping.map(&ctx.tex_ctx); [INFO] [stdout] ... [INFO] [stdout] 118 | rgb.clamp_zero() [INFO] [stdout] 119 ~ } _ => { [INFO] [stdout] 120 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 121 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/light/mod.rs:129:28 [INFO] [stdout] | [INFO] [stdout] 129 | if let Spectrum::RgbIlluminant(_) = l[0].as_ref() {} else { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/light/mod.rs:129:76 [INFO] [stdout] | [INFO] [stdout] 129 | if let Spectrum::RgbIlluminant(_) = l[0].as_ref() {} 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] 129 ~ match l[0].as_ref() { Spectrum::RgbIlluminant(_) => {} _ => { [INFO] [stdout] 130 | warn!("{}: Converting non-RGB 'L' parameter to RGB so that image infinite light can be used", loc); [INFO] [stdout] 131 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:397:20 [INFO] [stdout] | [INFO] [stdout] 397 | let l = if let Some(mut camera_ray) = camera_ray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:430:9 [INFO] [stdout] | [INFO] [stdout] 430 | } 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] 397 ~ let l = match camera_ray { Some(mut camera_ray) => { [INFO] [stdout] 398 | debug_assert!(camera_ray.ray.ray.direction.length() > 0.999); [INFO] [stdout] ... [INFO] [stdout] 429 | l [INFO] [stdout] 430 ~ } _ => { [INFO] [stdout] 431 | SampledSpectrum::from_const(0.0) [INFO] [stdout] 432 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:509:24 [INFO] [stdout] | [INFO] [stdout] 509 | if let Film::Debug(f) = Arc::get_mut_unchecked(&mut film.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:511:21 [INFO] [stdout] | [INFO] [stdout] 511 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 509 ~ match Arc::get_mut_unchecked(&mut film.clone()) { Film::Debug(f) => { [INFO] [stdout] 510 | f.add_pixel(p_pixel, rgb); [INFO] [stdout] 511 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:540:20 [INFO] [stdout] | [INFO] [stdout] 540 | if let Some(i) = isect { [INFO] [stdout] | ^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:543:17 [INFO] [stdout] | [INFO] [stdout] 543 | } 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] 540 ~ match isect { Some(i) => { [INFO] [stdout] 541 | let dist = 1.0 / i.t_hit; [INFO] [stdout] 542 | Rgb::new(dist, dist, dist) [INFO] [stdout] 543 ~ } _ => { [INFO] [stdout] 544 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 545 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:548:20 [INFO] [stdout] | [INFO] [stdout] 548 | if let Some(i) = isect { [INFO] [stdout] | ^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:551:17 [INFO] [stdout] | [INFO] [stdout] 551 | } 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] 548 ~ match isect { Some(i) => { [INFO] [stdout] 549 | let normal = i.intr.interaction.n; [INFO] [stdout] 550 | Rgb::new(normal.x, normal.y, normal.z) * 0.5 + 0.5 [INFO] [stdout] 551 ~ } _ => { [INFO] [stdout] 552 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 553 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:556:20 [INFO] [stdout] | [INFO] [stdout] 556 | if let Some(i) = isect { [INFO] [stdout] | ^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:559:17 [INFO] [stdout] | [INFO] [stdout] 559 | } 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] 556 ~ match isect { Some(i) => { [INFO] [stdout] 557 | let uv = i.intr.interaction.uv; [INFO] [stdout] 558 | Rgb::new(uv.x, uv.y, 0.0) [INFO] [stdout] 559 ~ } _ => { [INFO] [stdout] 560 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 561 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:564:20 [INFO] [stdout] | [INFO] [stdout] 564 | if let Some(mat) = isect.as_ref().and_then(|i| i.intr.material.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:571:17 [INFO] [stdout] | [INFO] [stdout] 571 | } 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] 564 ~ match isect.as_ref().and_then(|i| i.intr.material.clone()) { Some(mat) => { [INFO] [stdout] 565 | let Material::Single(SingleMaterial::Debug(m)) = mat.as_ref() else { [INFO] [stdout] ... [INFO] [stdout] 570 | m.get_color(&ctx) [INFO] [stdout] 571 ~ } _ => { [INFO] [stdout] 572 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 573 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/simple_path.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | if let Some(sampled_light) = sampled_light { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/simple_path.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match sampled_light { Some(sampled_light) => { [INFO] [stdout] 65 | let u_light = sampler.get_2d(); [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/simple_path.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | if let Some(ls) = ls { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/simple_path.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 69 ~ match ls { Some(ls) => { [INFO] [stdout] 70 | if !ls.l.is_zero() && ls.pdf > 0.0 { [INFO] [stdout] ... [INFO] [stdout] 76 | } [INFO] [stdout] 77 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/path.rs:118:27 [INFO] [stdout] | [INFO] [stdout] 118 | } else if let Some(light) = &si.intr.area_light { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/path.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 118 ~ } else { match &si.intr.area_light { Some(light) => { [INFO] [stdout] 119 | let p_l = self.light_sampler.pmf(&prev_intr_ctx, light) [INFO] [stdout] ... [INFO] [stdout] 122 | l += beta * w_l * le; [INFO] [stdout] 123 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/simple_vol_path.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | if let Some(bsdf) = si.intr.get_bsdf(ray, lambda, camera, sampler, options, rng) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/simple_vol_path.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | } 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] 103 ~ match si.intr.get_bsdf(ray, lambda, camera, sampler, options, rng) { Some(bsdf) => { [INFO] [stdout] 104 | let uc = sampler.get_1d(); [INFO] [stdout] ... [INFO] [stdout] 110 | } [INFO] [stdout] 111 ~ } _ => { [INFO] [stdout] 112 | si.intr.skip_intersection(ray, si.t_hit); [INFO] [stdout] 113 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:105:32 [INFO] [stdout] | [INFO] [stdout] 105 | let t_max = if let Some(ref s) = si { s.t_hit } else { 1.0 - Self::SHADOW_EPSILON }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:105:63 [INFO] [stdout] | [INFO] [stdout] 105 | let t_max = if let Some(ref s) = si { s.t_hit } else { 1.0 - Self::SHADOW_EPSILON }; [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 105 | let t_max = match si { Some(ref s) => { s.t_hit } _ => { 1.0 - Self::SHADOW_EPSILON }}; [INFO] [stdout] | ~~~~~ ++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:143:16 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some(ref s) = si { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 ~ match si { Some(ref s) => { [INFO] [stdout] 144 | light_ray = s.intr.interaction.spawn_ray_to_interaction(&ls.p_light); [INFO] [stdout] 145 ~ } _ => { [INFO] [stdout] 146 | break; [INFO] [stdout] 147 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:190:32 [INFO] [stdout] | [INFO] [stdout] 190 | let t_max = if let Some(ref s) = si { s.t_hit } else { Float::INFINITY }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:190:63 [INFO] [stdout] | [INFO] [stdout] 190 | let t_max = if let Some(ref s) = si { s.t_hit } else { Float::INFINITY }; [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 190 | let t_max = match si { Some(ref s) => { s.t_hit } _ => { Float::INFINITY }}; [INFO] [stdout] | ~~~~~ ++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 109 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: failed to automatically apply fixes suggested by rustc to crate `cray` [INFO] [stderr] [INFO] [stderr] after fixes were automatically applied the compiler reported errors within these files: [INFO] [stderr] [INFO] [stderr] * src/math/hashing.rs [INFO] [stderr] * src/math/mat.rs [INFO] [stderr] * src/math/numeric.rs [INFO] [stderr] * src/math/swizzle.rs [INFO] [stderr] * src/math/vect.rs [INFO] [stderr] * src/media/iterator.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/math/numeric.rs:81:19 [INFO] [stderr] | [INFO] [stderr] 81 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:81:36 [INFO] [stderr] | [INFO] [stderr] 81 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:106:19 [INFO] [stderr] | [INFO] [stderr] 106 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:106:36 [INFO] [stderr] | [INFO] [stderr] 106 | ($($ty:ident, $vmin:expr_2021, $vmax: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/math/numeric.rs:125:19 [INFO] [stderr] | [INFO] [stderr] 125 | ($($ty:ident, $half:expr_2021, $eps:expr_2021, $beps: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/math/numeric.rs:125:36 [INFO] [stderr] | [INFO] [stderr] 125 | ($($ty:ident, $half:expr_2021, $eps:expr_2021, $beps: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/math/numeric.rs:125:52 [INFO] [stderr] | [INFO] [stderr] 125 | ($($ty:ident, $half:expr_2021, $eps:expr_2021, $beps: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/math/numeric.rs:190:19 [INFO] [stderr] | [INFO] [stderr] 190 | ($($ty:ident: $nan: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/math/numeric.rs:211:19 [INFO] [stderr] | [INFO] [stderr] 211 | ($ty:ident; $($d: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/math/mat.rs:8:32 [INFO] [stderr] | [INFO] [stderr] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr_2021; $($i:expr_2021;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [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/math/mat.rs:8:48 [INFO] [stderr] | [INFO] [stderr] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr_2021; $($i:expr_2021;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [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/math/mat.rs:8:66 [INFO] [stderr] | [INFO] [stderr] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr_2021; $($i:expr_2021;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [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/math/mat.rs:8:81 [INFO] [stderr] | [INFO] [stderr] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr_2021; $($i:expr_2021;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [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/math/mat.rs:117:38 [INFO] [stderr] | [INFO] [stderr] 117 | ($name:ident -> $($vect:ident: $($i: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/math/vect.rs:130:94 [INFO] [stderr] | [INFO] [stderr] 130 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:142:108 [INFO] [stderr] | [INFO] [stderr] 142 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> $output:ident { $f:expr_2021 } where $($where_... [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/math/vect.rs:157:74 [INFO] [stderr] | [INFO] [stderr] 157 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:168:77 [INFO] [stderr] | [INFO] [stderr] 168 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:182:74 [INFO] [stderr] | [INFO] [stderr] 182 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:193:77 [INFO] [stderr] | [INFO] [stderr] 193 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:207:74 [INFO] [stderr] | [INFO] [stderr] 207 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:213:77 [INFO] [stderr] | [INFO] [stderr] 213 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [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/math/vect.rs:547:19 [INFO] [stderr] | [INFO] [stderr] 547 | ($($ty:ident; $dim:expr_2021; $($index:tt / $axis:ident => $v:ident),*);* $(;)*) => { [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/math/swizzle.rs:4:49 [INFO] [stderr] | [INFO] [stderr] 4 | ($($ty:ident: $($name:ident -> $out:ident[$($i: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/math/hashing.rs:60:8 [INFO] [stderr] | [INFO] [stderr] 60 | ($($arg: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/math/hashing.rs:65:16 [INFO] [stderr] | [INFO] [stderr] 65 | (@genkey $($arg: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/math/hashing.rs:78:6 [INFO] [stderr] | [INFO] [stderr] 78 | ($v:expr_2021 => $to:ident) => { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: see issue #123742 for more information [INFO] [stderr] = help: add `#![feature(expr_fragment_specifier_2024)]` to the crate attributes to enable [INFO] [stderr] = note: this compiler was built on 2024-09-17; consider upgrading it if it is out of date [INFO] [stderr] [INFO] [stderr] warning: elided lifetime has a name [INFO] [stderr] --> src/media/iterator.rs:64:10 [INFO] [stderr] | [INFO] [stderr] 57 | impl<'a> DDAMajorantIterator<'a> { [INFO] [stderr] | -- lifetime `'a` declared here [INFO] [stderr] ... [INFO] [stderr] 64 | ) -> DDAMajorantIterator { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stderr] | [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/math/sampling.rs:515:21 [INFO] [stdout] | [INFO] [stdout] 515 | if self.rng.gen::() < p { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] = note: `--force-warn keyword-idents-2024` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/math/sampling.rs:527:21 [INFO] [stdout] | [INFO] [stdout] 527 | if self.rng.gen::() < p { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/camera/filter.rs:386:56 [INFO] [stdout] | [INFO] [stdout] 386 | ... let u = Point2f::new((x as Float + rng.gen::()) / SQRT_SAMPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as... [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: aborting due to 27 previous errors; 1 warning emitted [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/camera/filter.rs:386:115 [INFO] [stdout] | [INFO] [stdout] 386 | ...MPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as Float); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/media/mod.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | u = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] For more information about this error, try `rustc --explain E0658`. [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/material/mod.rs:331:21 [INFO] [stdout] | [INFO] [stdout] 331 | let u = rng.gen::(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Original diagnostics will follow. [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | self.rng.gen() [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 134 | x: self.rng.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | y: self.rng.gen(), [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:222:46 [INFO] [stdout] | [INFO] [stdout] 222 | let delta= if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:237:44 [INFO] [stdout] | [INFO] [stdout] 237 | let dx = if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/sampler.rs:238:44 [INFO] [stdout] | [INFO] [stdout] 238 | let dy = if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/bxdf/layered.rs:232:32 [INFO] [stdout] | [INFO] [stdout] 232 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/bxdf/layered.rs:432:32 [INFO] [stdout] | [INFO] [stdout] 432 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/bxdf/layered.rs:564:32 [INFO] [stdout] | [INFO] [stdout] 564 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/simple_vol_path.rs:65:54 [INFO] [stdout] | [INFO] [stdout] 65 | ... let u = Point2f::new(rng.gen(), rng.gen()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/simple_vol_path.rs:65:65 [INFO] [stdout] | [INFO] [stdout] 65 | ... let u = Point2f::new(rng.gen(), rng.gen()); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/simple_vol_path.rs:78:42 [INFO] [stdout] | [INFO] [stdout] 78 | ... u_mode = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/vol_path.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | let u: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/vol_path.rs:123:36 [INFO] [stdout] | [INFO] [stdout] 123 | ... if rng.gen::() < q { [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `gen` is a keyword in the 2024 edition [INFO] [stdout] --> src/integrator/vol_path.rs:222:45 [INFO] [stdout] | [INFO] [stdout] 222 | let um: Float = rng.gen(); [INFO] [stdout] | ^^^ help: you can use a raw identifier to stay compatible: `r#gen` [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2021) but is a hard error in Rust 2024! [INFO] [stdout] = note: for more information, see issue #49716 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:81:25 [INFO] [stdout] | [INFO] [stdout] 81 | ($($ty:ident, $vmin:expr, $vmax: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] 81 | ($($ty:ident, $vmin:expr_2021, $vmax:expr);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:81:37 [INFO] [stdout] | [INFO] [stdout] 81 | ($($ty:ident, $vmin:expr, $vmax: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] 81 | ($($ty:ident, $vmin:expr, $vmax: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/math/numeric.rs:106:25 [INFO] [stdout] | [INFO] [stdout] 106 | ($($ty:ident, $vmin:expr, $vmax: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] 106 | ($($ty:ident, $vmin:expr_2021, $vmax:expr);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:106:37 [INFO] [stdout] | [INFO] [stdout] 106 | ($($ty:ident, $vmin:expr, $vmax: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] 106 | ($($ty:ident, $vmin:expr, $vmax: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/math/numeric.rs:125:25 [INFO] [stdout] | [INFO] [stdout] 125 | ($($ty:ident, $half:expr, $eps:expr, $beps: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] 125 | ($($ty:ident, $half:expr_2021, $eps:expr, $beps:expr);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:125:36 [INFO] [stdout] | [INFO] [stdout] 125 | ($($ty:ident, $half:expr, $eps:expr, $beps: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] 125 | ($($ty:ident, $half:expr, $eps:expr_2021, $beps:expr);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/numeric.rs:125:48 [INFO] [stdout] | [INFO] [stdout] 125 | ($($ty:ident, $half:expr, $eps:expr, $beps: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] 125 | ($($ty:ident, $half:expr, $eps:expr, $beps: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/math/numeric.rs:190:24 [INFO] [stdout] | [INFO] [stdout] 190 | ($($ty:ident: $nan: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] 190 | ($($ty:ident: $nan: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/math/numeric.rs:211:22 [INFO] [stdout] | [INFO] [stdout] 211 | ($ty:ident; $($d: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] 211 | ($ty:ident; $($d: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/math/mat.rs:8:37 [INFO] [stdout] | [INFO] [stdout] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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] 8 | ($name:ident; $vect:ident; $row:expr_2021, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/mat.rs:8:48 [INFO] [stdout] | [INFO] [stdout] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr_2021; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/mat.rs:8:59 [INFO] [stdout] | [INFO] [stdout] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr_2021;$($j:expr;$m:ident)-*),* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/mat.rs:8:69 [INFO] [stdout] | [INFO] [stdout] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr;$m:ident)-*),* $(;)*) => { [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] 8 | ($name:ident; $vect:ident; $row:expr, $col:expr; $($i:expr;$($j:expr_2021;$m:ident)-*),* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/mat.rs:117:41 [INFO] [stdout] | [INFO] [stdout] 117 | ($name:ident -> $($vect:ident: $($i: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] 117 | ($name:ident -> $($vect:ident: $($i: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/math/vect.rs:130:97 [INFO] [stdout] | [INFO] [stdout] 130 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> { $f:expr } where $($where_clause:tt)*) => { [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] 130 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:142:111 [INFO] [stdout] | [INFO] [stdout] 142 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> $output:ident { $f:expr } where $($where_claus... [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] 142 | ($trait_name:ident, $fn_name:ident, [$self:ident: $ta:ident, $rhs:ident: $tb:ident] -> $output:ident { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:157:77 [INFO] [stdout] | [INFO] [stdout] 157 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr } where $($where_clause:tt)*) => { [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] 157 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:168:80 [INFO] [stdout] | [INFO] [stdout] 168 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr } where $($where_clause:tt)*) => { [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] 168 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:182:77 [INFO] [stdout] | [INFO] [stdout] 182 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr } where $($where_clause:tt)*) => { [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] 182 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:193:80 [INFO] [stdout] | [INFO] [stdout] 193 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr } where $($where_clause:tt)*) => { [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] 193 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:207:77 [INFO] [stdout] | [INFO] [stdout] 207 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr } where $($where_clause:tt)*) => { [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] 207 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> T { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:213:80 [INFO] [stdout] | [INFO] [stdout] 213 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr } where $($where_clause:tt)*) => { [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] 213 | ($trait_name:ident, $fn_name:ident, [$self:ident, $rhs:ident] -> Self { $f:expr_2021 } where $($where_clause:tt)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/vect.rs:547:24 [INFO] [stdout] | [INFO] [stdout] 547 | ($($ty:ident; $dim:expr; $($index:tt / $axis:ident => $v:ident),*);* $(;)*) => { [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] 547 | ($($ty:ident; $dim:expr_2021; $($index:tt / $axis:ident => $v:ident),*);* $(;)*) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the `expr` fragment specifier will accept more expressions in the 2024 edition [INFO] [stdout] --> src/math/swizzle.rs:4:52 [INFO] [stdout] | [INFO] [stdout] 4 | ($($ty:ident: $($name:ident -> $out:ident[$($i: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] 4 | ($($ty:ident: $($name:ident -> $out:ident[$($i: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/math/hashing.rs:60:13 [INFO] [stdout] | [INFO] [stdout] 60 | ($($arg: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] 60 | ($($arg: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/math/hashing.rs:65:21 [INFO] [stdout] | [INFO] [stdout] 65 | (@genkey $($arg: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] 65 | (@genkey $($arg: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/math/hashing.rs:78:9 [INFO] [stdout] | [INFO] [stdout] 78 | ($v:expr => $to:ident) => { [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] 78 | ($v:expr_2021 => $to:ident) => { [INFO] [stdout] | ~~~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/media/iterator.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 57 | impl<'a> DDAMajorantIterator<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 64 | ) -> DDAMajorantIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:55:12 [INFO] [stdout] | [INFO] [stdout] 55 | if let Some(ref mi) = self.medium_interface { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:57:9 [INFO] [stdout] | [INFO] [stdout] 57 | } else { [INFO] [stdout] | ^ [INFO] [stdout] = note: `--force-warn if-let-rescope` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 55 ~ match self.medium_interface { Some(ref mi) => { [INFO] [stdout] 56 | if w.dot(self.n) > 0.0 { mi.outside.clone() } else { mi.inside.clone() } [INFO] [stdout] 57 ~ } _ => { [INFO] [stdout] 58 | self.medium.clone() [INFO] [stdout] 59 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 63 | if let Some(ref mi) = self.medium_interface { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^--------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } 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] 63 ~ match self.medium_interface { Some(ref mi) => { [INFO] [stdout] 64 | debug_assert_eq!(mi.inside, mi.outside); [INFO] [stdout] 65 | mi.inside.clone() [INFO] [stdout] 66 ~ } _ => { [INFO] [stdout] 67 | self.medium.clone() [INFO] [stdout] 68 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:275:35 [INFO] [stdout] | [INFO] [stdout] 275 | let (dpdu, dpdv) = if let Some(displacement) = displacement { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:281:13 [INFO] [stdout] | [INFO] [stdout] 281 | } 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] 275 ~ let (dpdu, dpdv) = match displacement { Some(displacement) => { [INFO] [stdout] 276 | material::bump_map( [INFO] [stdout] ... [INFO] [stdout] 280 | ) [INFO] [stdout] 281 ~ } _ => { [INFO] [stdout] 282 | let normal_map = normal_map.unwrap(); [INFO] [stdout] ... [INFO] [stdout] 286 | ) [INFO] [stdout] 287 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:433:12 [INFO] [stdout] | [INFO] [stdout] 433 | if let Some(ref area_light) = self.area_light { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^--------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/math/interaction.rs:435:9 [INFO] [stdout] | [INFO] [stdout] 435 | } 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] 433 ~ match self.area_light { Some(ref area_light) => { [INFO] [stdout] 434 | area_light.as_ref().l(self.position(), self.interaction.n, self.interaction.uv, w, lambda) [INFO] [stdout] 435 ~ } _ => { [INFO] [stdout] 436 | SampledSpectrum::from_const(0.0) [INFO] [stdout] 437 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/color/spectrum.rs:40:12 [INFO] [stdout] | [INFO] [stdout] 40 | if let Some(pls) = pls { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/color/spectrum.rs:44:9 [INFO] [stdout] | [INFO] [stdout] 44 | } 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] 40 ~ match pls { Some(pls) => { [INFO] [stdout] 41 | let spectrum = Arc::new(pls); [INFO] [stdout] 42 | cached_spectra.insert(filename.to_string(), spectrum.clone()); [INFO] [stdout] 43 | Some(spectrum) [INFO] [stdout] 44 ~ } _ => { [INFO] [stdout] 45 | None [INFO] [stdout] 46 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/color/rgb_xyz.rs:469:20 [INFO] [stdout] | [INFO] [stdout] 469 | if let Some(encoding) = gamma_encoding_cache.0.get(&gamma) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------------------^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/color/rgb_xyz.rs:471:17 [INFO] [stdout] | [INFO] [stdout] 471 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 469 ~ match gamma_encoding_cache.0.get(&gamma) { Some(encoding) => { [INFO] [stdout] 470 | encoding.clone() [INFO] [stdout] 471 ~ } _ => { [INFO] [stdout] 472 | let encoding = ColorEncodingPtr(Arc::new(ColorEncoding::Gamma(GammaColorEncoding::new(gamma.0)))); [INFO] [stdout] 473 | gamma_encoding_cache.0.insert(gamma, encoding.clone()); [INFO] [stdout] 474 | encoding [INFO] [stdout] 475 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/media/homogeneous.rs:27:16 [INFO] [stdout] | [INFO] [stdout] 27 | if let Some((sa, ss)) = get_medium_scattering_properties(&preset) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^----------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/media/homogeneous.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | } 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] 27 ~ match get_medium_scattering_properties(&preset) { Some((sa, ss)) => { [INFO] [stdout] 28 | sig_a = Some(sa); [INFO] [stdout] 29 | sig_s = Some(ss); [INFO] [stdout] 30 ~ } _ => { [INFO] [stdout] 31 | warn!("{}: material preset {} not found", loc, preset); [INFO] [stdout] 32 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/image.rs:718:20 [INFO] [stdout] | [INFO] [stdout] 718 | if let ImageData::Float32(ref data) = &image.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/image.rs:723:17 [INFO] [stdout] | [INFO] [stdout] 723 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 718 ~ match &image.data { ImageData::Float32(ref data) => { [INFO] [stdout] 719 | pyramid[i as usize].copy_rect_in( [INFO] [stdout] ... [INFO] [stdout] 722 | ); [INFO] [stdout] 723 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/image.rs:1055:27 [INFO] [stdout] | [INFO] [stdout] 1055 | let encoding = if let Some(encoding) = encoding { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/image.rs:1057:9 [INFO] [stdout] | [INFO] [stdout] 1057 | } 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] 1055 ~ let encoding = match encoding { Some(encoding) => { [INFO] [stdout] 1056 | encoding [INFO] [stdout] 1057 ~ } _ => { [INFO] [stdout] 1058 | ColorEncoding::get("srgb", None).clone() [INFO] [stdout] 1059 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/image.rs:1360:20 [INFO] [stdout] | [INFO] [stdout] 1360 | if let Err(e) = image.write().to_file(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/image.rs:1372:17 [INFO] [stdout] | [INFO] [stdout] 1372 | } 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] 1360 ~ match image.write().to_file(path) { Err(e) => { [INFO] [stdout] 1361 | let errorkind = match e { [INFO] [stdout] ... [INFO] [stdout] 1371 | )) [INFO] [stdout] 1372 ~ } _ => { [INFO] [stdout] 1373 | Ok(()) [INFO] [stdout] 1374 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/image.rs:1392:20 [INFO] [stdout] | [INFO] [stdout] 1392 | if let Err(e) = image.write().to_file(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/image.rs:1404:17 [INFO] [stdout] | [INFO] [stdout] 1404 | } 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] 1392 ~ match image.write().to_file(path) { Err(e) => { [INFO] [stdout] 1393 | let errorkind = match e { [INFO] [stdout] ... [INFO] [stdout] 1403 | )) [INFO] [stdout] 1404 ~ } _ => { [INFO] [stdout] 1405 | Ok(()) [INFO] [stdout] 1406 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:582:33 [INFO] [stdout] | [INFO] [stdout] 582 | let cs = if let Some(cs) = ¶m.color_space { [INFO] [stdout] | ^^^^^^^^^^^^^^^^----------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:584:21 [INFO] [stdout] | [INFO] [stdout] 584 | } 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] 582 ~ let cs = match ¶m.color_space { Some(cs) => { [INFO] [stdout] 583 | cs.clone() [INFO] [stdout] 584 ~ } _ => { [INFO] [stdout] 585 | color_space.clone() [INFO] [stdout] 586 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:918:12 [INFO] [stdout] | [INFO] [stdout] 918 | if let Some(tex) = tex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:920:9 [INFO] [stdout] | [INFO] [stdout] 920 | } 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] 918 ~ match tex { Some(tex) => { [INFO] [stdout] 919 | tex [INFO] [stdout] 920 ~ } _ => { [INFO] [stdout] 921 | Arc::new(FloatTexture::Constant(FloatConstantTexture::new( [INFO] [stdout] 922 | default_value, [INFO] [stdout] 923 | ))) [INFO] [stdout] 924 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:974:12 [INFO] [stdout] | [INFO] [stdout] 974 | if let Some(tex) = tex { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] 975 | Some(tex) [INFO] [stdout] 976 | } else if let Some(default_value) = default_value { [INFO] [stdout] | ------------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:976:9 [INFO] [stdout] | [INFO] [stdout] 976 | } else if let Some(default_value) = default_value { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/paramdict.rs:980:9 [INFO] [stdout] | [INFO] [stdout] 980 | } 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] 974 ~ match tex { Some(tex) => { [INFO] [stdout] 975 | Some(tex) [INFO] [stdout] 976 ~ } _ => { match default_value { Some(default_value) => { [INFO] [stdout] 977 | return Some(Arc::new(SpectrumTexture::Constant( [INFO] [stdout] 978 | SpectrumConstantTexture::new(default_value.clone()), [INFO] [stdout] 979 | ))); [INFO] [stdout] 980 ~ } _ => { [INFO] [stdout] 981 | return None; [INFO] [stdout] 982 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `impl Iterator::Err>> + 'a` will capture more lifetimes than possibly intended in edition 2024 [INFO] [stdout] --> src/reader/param.rs:73:40 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn items(&self) -> impl Iterator::Err>> + 'a { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see [INFO] [stdout] note: specifically, this lifetime is in scope but not mentioned in the type's bounds [INFO] [stdout] --> src/reader/param.rs:73:30 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn items(&self) -> impl Iterator::Err>> + 'a { [INFO] [stdout] | ^ [INFO] [stdout] = note: all lifetimes in scope will be captured by `impl Trait`s in edition 2024 [INFO] [stdout] = note: `--force-warn impl-trait-overcaptures` implied by `--force-warn rust-2024-compatibility` [INFO] [stdout] help: use the precise capturing `use<...>` syntax to make the captures explicit [INFO] [stdout] | [INFO] [stdout] 73 | pub fn items(&self) -> impl Iterator::Err>> + 'a + use<'a, T> { [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/reader/scene.rs:1350:16 [INFO] [stdout] | [INFO] [stdout] 1350 | if let Some(active_instance_definition) = &mut self.active_instance_definition { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/reader/scene.rs:1352:13 [INFO] [stdout] | [INFO] [stdout] 1352 | } 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] 1350 ~ match &mut self.active_instance_definition { Some(active_instance_definition) => { [INFO] [stdout] 1351 | active_instance_definition.entity.shapes.push(entity) [INFO] [stdout] 1352 ~ } _ => { [INFO] [stdout] 1353 | self.shapes.push(entity) [INFO] [stdout] 1354 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/texture.rs:747:12 [INFO] [stdout] | [INFO] [stdout] 747 | if let Some(cs) = self.base.mipmap.get_color_space() [INFO] [stdout] | ^^^^^^^^^^^^^^^---------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/texture.rs:761:9 [INFO] [stdout] | [INFO] [stdout] 761 | } 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] 747 ~ match self.base.mipmap.get_color_space() [INFO] [stdout] 748 ~ { Some(cs) => { [INFO] [stdout] 749 | match self.spectrum_type [INFO] [stdout] ... [INFO] [stdout] 760 | } [INFO] [stdout] 761 ~ } _ => { [INFO] [stdout] 762 | // If no colorspace, then it should be a one-channel texture [INFO] [stdout] 763 | debug_assert!(rgb[0] == rgb[1] && rgb[1] == rgb[2]); [INFO] [stdout] 764 | SampledSpectrum::from_const(rgb[0]) [INFO] [stdout] 765 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mipmap.rs:51:16 [INFO] [stdout] | [INFO] [stdout] 51 | if let Some(rgba_desc) = rgba_desc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^--------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] ... [INFO] [stdout] 70 | } else if let Some(rgb_desc) = rgb_desc { [INFO] [stdout] | -------- this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mipmap.rs:70:13 [INFO] [stdout] | [INFO] [stdout] 70 | } else if let Some(rgb_desc) = rgb_desc { [INFO] [stdout] | ^ [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mipmap.rs:72:13 [INFO] [stdout] | [INFO] [stdout] 72 | } 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] 51 ~ match rgba_desc { Some(rgba_desc) => { [INFO] [stdout] 52 | let mut all_one = true; [INFO] [stdout] ... [INFO] [stdout] 69 | } [INFO] [stdout] 70 ~ } _ => { match rgb_desc { Some(rgb_desc) => { [INFO] [stdout] 71 | image = image.select_channels(&rgb_desc); [INFO] [stdout] 72 ~ } _ => { [INFO] [stdout] 73 | panic!("{}: image doesn't have rgb channels", filename); [INFO] [stdout] 74 ~ }}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/mipmap.rs:62:24 [INFO] [stdout] | [INFO] [stdout] 62 | if let Some(rgb_desc) = rgb_desc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/mipmap.rs:64:21 [INFO] [stdout] | [INFO] [stdout] 64 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 62 ~ match rgb_desc { Some(rgb_desc) => { [INFO] [stdout] 63 | image = image.select_channels(&rgb_desc); [INFO] [stdout] 64 ~ } _ => { [INFO] [stdout] 65 | panic!("{}: expected rgb channels", filename); [INFO] [stdout] 66 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primitive/bvh.rs:370:28 [INFO] [stdout] | [INFO] [stdout] 370 | if let Some(prim_si) = prim_si { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/primitive/bvh.rs:373:25 [INFO] [stdout] | [INFO] [stdout] 373 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 370 ~ match prim_si { Some(prim_si) => { [INFO] [stdout] 371 | t_max = prim_si.t_hit; [INFO] [stdout] 372 | si = Some(prim_si); [INFO] [stdout] 373 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primitive/bvh.rs:503:25 [INFO] [stdout] | [INFO] [stdout] 503 | let bounds = if let Some(ref right) = right { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/primitive/bvh.rs:505:9 [INFO] [stdout] | [INFO] [stdout] 505 | } 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] 503 ~ let bounds = match right { Some(ref right) => { [INFO] [stdout] 504 | left.bounds.union(right.bounds) [INFO] [stdout] 505 ~ } _ => { [INFO] [stdout] 506 | left.bounds [INFO] [stdout] 507 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/primitive/list.rs:41:16 [INFO] [stdout] | [INFO] [stdout] 41 | if let Some(i) = prim.intersect(ray, t_max) { [INFO] [stdout] | ^^^^^^^^^^^^^^-------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/primitive/list.rs:46:13 [INFO] [stdout] | [INFO] [stdout] 46 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 41 ~ match prim.intersect(ray, t_max) { Some(i) => { [INFO] [stdout] 42 | if i.t_hit < t_closest { [INFO] [stdout] ... [INFO] [stdout] 45 | } [INFO] [stdout] 46 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/diffuse.rs:30:30 [INFO] [stdout] | [INFO] [stdout] 30 | let reflectance = if let Some(reflectance) = reflectance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/diffuse.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | } 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] 30 ~ let reflectance = match reflectance { Some(reflectance) => { [INFO] [stdout] 31 | reflectance [INFO] [stdout] 32 ~ } _ => { [INFO] [stdout] 33 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new( [INFO] [stdout] 34 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.5))), [INFO] [stdout] 35 | ))) [INFO] [stdout] 36 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/diffuse_transmission.rs:48:30 [INFO] [stdout] | [INFO] [stdout] 48 | let reflectance = if let Some(reflectance) = reflectance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^----------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/diffuse_transmission.rs:50:9 [INFO] [stdout] | [INFO] [stdout] 50 | } 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] 48 ~ let reflectance = match reflectance { Some(reflectance) => { [INFO] [stdout] 49 | reflectance [INFO] [stdout] 50 ~ } _ => { [INFO] [stdout] 51 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new( [INFO] [stdout] 52 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.25))), [INFO] [stdout] 53 | ))) [INFO] [stdout] 54 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/diffuse_transmission.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | let transmittance = if let Some(transmittance) = transmittance { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/diffuse_transmission.rs:66:9 [INFO] [stdout] | [INFO] [stdout] 66 | } 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] 64 ~ let transmittance = match transmittance { Some(transmittance) => { [INFO] [stdout] 65 | transmittance [INFO] [stdout] 66 ~ } _ => { [INFO] [stdout] 67 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new( [INFO] [stdout] 68 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.25))), [INFO] [stdout] 69 | ))) [INFO] [stdout] 70 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:63:30 [INFO] [stdout] | [INFO] [stdout] 63 | let u_roughness = if let Some(roughness) = parameters.get_float_texture_or_none("uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:65:9 [INFO] [stdout] | [INFO] [stdout] 65 | } 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] 63 ~ let u_roughness = match parameters.get_float_texture_or_none("uroughness", textures) { Some(roughness) => { [INFO] [stdout] 64 | roughness [INFO] [stdout] 65 ~ } _ => { [INFO] [stdout] 66 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 67 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:68:30 [INFO] [stdout] | [INFO] [stdout] 68 | let v_roughness = if let Some(roughness) = parameters.get_float_texture_or_none("vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:70:9 [INFO] [stdout] | [INFO] [stdout] 70 | } 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] 68 ~ let v_roughness = match parameters.get_float_texture_or_none("vroughness", textures) { Some(roughness) => { [INFO] [stdout] 69 | roughness [INFO] [stdout] 70 ~ } _ => { [INFO] [stdout] 71 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 72 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:129:29 [INFO] [stdout] | [INFO] [stdout] 129 | let (etas, ks) = if let Some(eta) = &self.eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/conductor.rs:134:9 [INFO] [stdout] | [INFO] [stdout] 134 | } 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] 129 ~ let (etas, ks) = match &self.eta { Some(eta) => { [INFO] [stdout] 130 | let k = self.k.as_ref().expect("eta and k should be provided together"); [INFO] [stdout] ... [INFO] [stdout] 133 | (etas, ks) [INFO] [stdout] 134 ~ } _ => { [INFO] [stdout] 135 | let r = SampledSpectrum::clamp( [INFO] [stdout] ... [INFO] [stdout] 149 | (etas, ks) [INFO] [stdout] 150 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/dielectric.rs:33:30 [INFO] [stdout] | [INFO] [stdout] 33 | let u_roughness = if let Some(roughness) = parameters.get_float_texture_or_none("uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/dielectric.rs:35:9 [INFO] [stdout] | [INFO] [stdout] 35 | } 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] 33 ~ let u_roughness = match parameters.get_float_texture_or_none("uroughness", textures) { Some(roughness) => { [INFO] [stdout] 34 | roughness [INFO] [stdout] 35 ~ } _ => { [INFO] [stdout] 36 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 37 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/dielectric.rs:38:30 [INFO] [stdout] | [INFO] [stdout] 38 | let v_roughness = if let Some(roughness) = parameters.get_float_texture_or_none("vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/dielectric.rs:40:9 [INFO] [stdout] | [INFO] [stdout] 40 | } 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] 38 ~ let v_roughness = match parameters.get_float_texture_or_none("vroughness", textures) { Some(roughness) => { [INFO] [stdout] 39 | roughness [INFO] [stdout] 40 ~ } _ => { [INFO] [stdout] 41 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 42 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/thin_dielectric.rs:40:22 [INFO] [stdout] | [INFO] [stdout] 40 | let eta = if let Some(eta) = eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/thin_dielectric.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 42 | } 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] 40 ~ let eta = match eta { Some(eta) => { [INFO] [stdout] 41 | eta [INFO] [stdout] 42 ~ } _ => { [INFO] [stdout] 43 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(1.5))) [INFO] [stdout] 44 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:61:30 [INFO] [stdout] | [INFO] [stdout] 61 | ...if let Some(reflectance) = parameters.get_spectrum_texture("reflectance", None, SpectrumType::Albedo, cached_spectra, textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:63:9 [INFO] [stdout] | [INFO] [stdout] 63 | } 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] 61 ~ let reflectance = match parameters.get_spectrum_texture("reflectance", None, SpectrumType::Albedo, cached_spectra, textures) { Some(reflectance) => { [INFO] [stdout] 62 | reflectance [INFO] [stdout] 63 ~ } _ => { [INFO] [stdout] 64 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new(Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.5)))))) [INFO] [stdout] 65 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:67:30 [INFO] [stdout] | [INFO] [stdout] 67 | let u_roughness = if let Some(u_roughness) = parameters.get_float_texture_or_none("uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:69:9 [INFO] [stdout] | [INFO] [stdout] 69 | } 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] 67 ~ let u_roughness = match parameters.get_float_texture_or_none("uroughness", textures) { Some(u_roughness) => { [INFO] [stdout] 68 | u_roughness [INFO] [stdout] 69 ~ } _ => { [INFO] [stdout] 70 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 71 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:72:30 [INFO] [stdout] | [INFO] [stdout] 72 | let v_roughness = if let Some(v_roughness) = parameters.get_float_texture_or_none("vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^------------------------------------------------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:74:9 [INFO] [stdout] | [INFO] [stdout] 74 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 72 ~ let v_roughness = match parameters.get_float_texture_or_none("vroughness", textures) { Some(v_roughness) => { [INFO] [stdout] 73 | v_roughness [INFO] [stdout] 74 ~ } _ => { [INFO] [stdout] 75 | parameters.get_float_texture("roughness", 0.0, textures) [INFO] [stdout] 76 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:86:22 [INFO] [stdout] | [INFO] [stdout] 86 | let eta = if let Some(eta) = eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^--- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:88:9 [INFO] [stdout] | [INFO] [stdout] 88 | } 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] 86 ~ let eta = match eta { Some(eta) => { [INFO] [stdout] 87 | eta [INFO] [stdout] 88 ~ } _ => { [INFO] [stdout] 89 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(1.5))) [INFO] [stdout] 90 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:96:25 [INFO] [stdout] | [INFO] [stdout] 96 | let albedo = if let Some(albedo) = parameters.get_spectrum_texture("albedo", None, SpectrumType::Albedo, cached_spectra, textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_diffuse.rs:98:9 [INFO] [stdout] | [INFO] [stdout] 98 | } 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] 96 ~ let albedo = match parameters.get_spectrum_texture("albedo", None, SpectrumType::Albedo, cached_spectra, textures) { Some(albedo) => { [INFO] [stdout] 97 | albedo [INFO] [stdout] 98 ~ } _ => { [INFO] [stdout] 99 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new(Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.0)))))) [INFO] [stdout] 100~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:73:40 [INFO] [stdout] | [INFO] [stdout] 73 | let interface_u_roughness = if let Some(u_rough) = parameters.get_float_texture_or_none("interface.uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:75:9 [INFO] [stdout] | [INFO] [stdout] 75 | } 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] 73 ~ let interface_u_roughness = match parameters.get_float_texture_or_none("interface.uroughness", textures) { Some(u_rough) => { [INFO] [stdout] 74 | u_rough [INFO] [stdout] 75 ~ } _ => { [INFO] [stdout] 76 | parameters.get_float_texture("interface.roughness", 0.0, textures) [INFO] [stdout] 77 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:78:40 [INFO] [stdout] | [INFO] [stdout] 78 | let interface_v_roughness = if let Some(v_rough) = parameters.get_float_texture_or_none("interface.vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 80 | } 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] 78 ~ let interface_v_roughness = match parameters.get_float_texture_or_none("interface.vroughness", textures) { Some(v_rough) => { [INFO] [stdout] 79 | v_rough [INFO] [stdout] 80 ~ } _ => { [INFO] [stdout] 81 | parameters.get_float_texture("interface.roughness", 0.0, textures) [INFO] [stdout] 82 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:92:32 [INFO] [stdout] | [INFO] [stdout] 92 | let interface_eta = if let Some(eta) = interface_eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:94:9 [INFO] [stdout] | [INFO] [stdout] 94 | } 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] 92 ~ let interface_eta = match interface_eta { Some(eta) => { [INFO] [stdout] 93 | eta [INFO] [stdout] 94 ~ } _ => { [INFO] [stdout] 95 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(1.5))) [INFO] [stdout] 96 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:98:40 [INFO] [stdout] | [INFO] [stdout] 98 | let conductor_u_roughness = if let Some(u_rough) = parameters.get_float_texture_or_none("conductor.uroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:100:9 [INFO] [stdout] | [INFO] [stdout] 100 | } 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] 98 ~ let conductor_u_roughness = match parameters.get_float_texture_or_none("conductor.uroughness", textures) { Some(u_rough) => { [INFO] [stdout] 99 | u_rough [INFO] [stdout] 100 ~ } _ => { [INFO] [stdout] 101 | parameters.get_float_texture("conductor.roughness", 0.0, textures) [INFO] [stdout] 102 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:103:40 [INFO] [stdout] | [INFO] [stdout] 103 | let conductor_v_roughness = if let Some(v_rough) = parameters.get_float_texture_or_none("conductor.vroughness", textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^---------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:105:9 [INFO] [stdout] | [INFO] [stdout] 105 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 103 ~ let conductor_v_roughness = match parameters.get_float_texture_or_none("conductor.vroughness", textures) { Some(v_rough) => { [INFO] [stdout] 104 | v_rough [INFO] [stdout] 105 ~ } _ => { [INFO] [stdout] 106 | parameters.get_float_texture("conductor.roughness", 0.0, textures) [INFO] [stdout] 107 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | let albedo = if let Some(albedo) = parameters.get_spectrum_texture("albedo", None, SpectrumType::Albedo, cached_spectra, textures) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^----------------------------------------------------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:137:9 [INFO] [stdout] | [INFO] [stdout] 137 | } 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 ~ let albedo = match parameters.get_spectrum_texture("albedo", None, SpectrumType::Albedo, cached_spectra, textures) { Some(albedo) => { [INFO] [stdout] 136 | albedo [INFO] [stdout] 137 ~ } _ => { [INFO] [stdout] 138 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new(Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.0)))))) [INFO] [stdout] 139 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:195:35 [INFO] [stdout] | [INFO] [stdout] 195 | let (mut ce, mut ck) = if let Some(conductor_eta) = &self.conductor_eta { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/coated_conductor.rs:200:9 [INFO] [stdout] | [INFO] [stdout] 200 | } 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] 195 ~ let (mut ce, mut ck) = match &self.conductor_eta { Some(conductor_eta) => { [INFO] [stdout] 196 | let k = self.k.as_ref().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 199 | (ce, ck) [INFO] [stdout] 200 ~ } _ => { [INFO] [stdout] 201 | let reflectance = self.reflectance.as_ref().unwrap(); [INFO] [stdout] ... [INFO] [stdout] 205 | (ce, ck) [INFO] [stdout] 206 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/debug.rs:47:24 [INFO] [stdout] | [INFO] [stdout] 47 | let color = if let Some(color) = color { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/debug.rs:49:9 [INFO] [stdout] | [INFO] [stdout] 49 | } 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] 47 ~ let color = match color { Some(color) => { [INFO] [stdout] 48 | color [INFO] [stdout] 49 ~ } _ => { [INFO] [stdout] 50 | Arc::new(SpectrumTexture::Constant(SpectrumConstantTexture::new( [INFO] [stdout] 51 | Arc::new(Spectrum::Constant(ConstantSpectrum::new(0.5))), [INFO] [stdout] 52 | ))) [INFO] [stdout] 53 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/debug.rs:103:20 [INFO] [stdout] | [INFO] [stdout] 103 | if let SpectrumTexture::Image(imt) = self.color.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/debug.rs:108:17 [INFO] [stdout] | [INFO] [stdout] 108 | } 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] 103 ~ match self.color.as_ref() { SpectrumTexture::Image(imt) => { [INFO] [stdout] 104 | let mut c = imt.base.mapping.map(&ctx.tex_ctx); [INFO] [stdout] ... [INFO] [stdout] 107 | Rgb::new(c.st.x, c.st.y, 0.0) [INFO] [stdout] 108 ~ } _ => { [INFO] [stdout] 109 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 110 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/material/debug.rs:113:20 [INFO] [stdout] | [INFO] [stdout] 113 | if let SpectrumTexture::Image(imt) = self.color.as_ref() { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----------^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/material/debug.rs:119:17 [INFO] [stdout] | [INFO] [stdout] 119 | } 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] 113 ~ match self.color.as_ref() { SpectrumTexture::Image(imt) => { [INFO] [stdout] 114 | let mut c = imt.base.mapping.map(&ctx.tex_ctx); [INFO] [stdout] ... [INFO] [stdout] 118 | rgb.clamp_zero() [INFO] [stdout] 119 ~ } _ => { [INFO] [stdout] 120 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 121 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/light/mod.rs:129:28 [INFO] [stdout] | [INFO] [stdout] 129 | if let Spectrum::RgbIlluminant(_) = l[0].as_ref() {} else { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/light/mod.rs:129:76 [INFO] [stdout] | [INFO] [stdout] 129 | if let Spectrum::RgbIlluminant(_) = l[0].as_ref() {} 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] 129 ~ match l[0].as_ref() { Spectrum::RgbIlluminant(_) => {} _ => { [INFO] [stdout] 130 | warn!("{}: Converting non-RGB 'L' parameter to RGB so that image infinite light can be used", loc); [INFO] [stdout] 131 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:397:20 [INFO] [stdout] | [INFO] [stdout] 397 | let l = if let Some(mut camera_ray) = camera_ray { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^---------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:430:9 [INFO] [stdout] | [INFO] [stdout] 430 | } 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] 397 ~ let l = match camera_ray { Some(mut camera_ray) => { [INFO] [stdout] 398 | debug_assert!(camera_ray.ray.ray.direction.length() > 0.999); [INFO] [stdout] ... [INFO] [stdout] 429 | l [INFO] [stdout] 430 ~ } _ => { [INFO] [stdout] 431 | SampledSpectrum::from_const(0.0) [INFO] [stdout] 432 ~ }}; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:509:24 [INFO] [stdout] | [INFO] [stdout] 509 | if let Film::Debug(f) = Arc::get_mut_unchecked(&mut film.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^------------^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:511:21 [INFO] [stdout] | [INFO] [stdout] 511 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 509 ~ match Arc::get_mut_unchecked(&mut film.clone()) { Film::Debug(f) => { [INFO] [stdout] 510 | f.add_pixel(p_pixel, rgb); [INFO] [stdout] 511 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:540:20 [INFO] [stdout] | [INFO] [stdout] 540 | if let Some(i) = isect { [INFO] [stdout] | ^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:543:17 [INFO] [stdout] | [INFO] [stdout] 543 | } 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] 540 ~ match isect { Some(i) => { [INFO] [stdout] 541 | let dist = 1.0 / i.t_hit; [INFO] [stdout] 542 | Rgb::new(dist, dist, dist) [INFO] [stdout] 543 ~ } _ => { [INFO] [stdout] 544 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 545 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:548:20 [INFO] [stdout] | [INFO] [stdout] 548 | if let Some(i) = isect { [INFO] [stdout] | ^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:551:17 [INFO] [stdout] | [INFO] [stdout] 551 | } 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] 548 ~ match isect { Some(i) => { [INFO] [stdout] 549 | let normal = i.intr.interaction.n; [INFO] [stdout] 550 | Rgb::new(normal.x, normal.y, normal.z) * 0.5 + 0.5 [INFO] [stdout] 551 ~ } _ => { [INFO] [stdout] 552 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 553 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:556:20 [INFO] [stdout] | [INFO] [stdout] 556 | if let Some(i) = isect { [INFO] [stdout] | ^^^^^^^^^^^^^^----- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:559:17 [INFO] [stdout] | [INFO] [stdout] 559 | } 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] 556 ~ match isect { Some(i) => { [INFO] [stdout] 557 | let uv = i.intr.interaction.uv; [INFO] [stdout] 558 | Rgb::new(uv.x, uv.y, 0.0) [INFO] [stdout] 559 ~ } _ => { [INFO] [stdout] 560 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 561 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:564:20 [INFO] [stdout] | [INFO] [stdout] 564 | if let Some(mat) = isect.as_ref().and_then(|i| i.intr.material.clone()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^---------------------------------------------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/mod.rs:571:17 [INFO] [stdout] | [INFO] [stdout] 571 | } 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] 564 ~ match isect.as_ref().and_then(|i| i.intr.material.clone()) { Some(mat) => { [INFO] [stdout] 565 | let Material::Single(SingleMaterial::Debug(m)) = mat.as_ref() else { [INFO] [stdout] ... [INFO] [stdout] 570 | m.get_color(&ctx) [INFO] [stdout] 571 ~ } _ => { [INFO] [stdout] 572 | Rgb::new(0.0, 0.0, 0.0) [INFO] [stdout] 573 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/simple_path.rs:64:20 [INFO] [stdout] | [INFO] [stdout] 64 | if let Some(sampled_light) = sampled_light { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^------------- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/simple_path.rs:78:17 [INFO] [stdout] | [INFO] [stdout] 78 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 64 ~ match sampled_light { Some(sampled_light) => { [INFO] [stdout] 65 | let u_light = sampler.get_2d(); [INFO] [stdout] ... [INFO] [stdout] 77 | } [INFO] [stdout] 78 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/simple_path.rs:69:24 [INFO] [stdout] | [INFO] [stdout] 69 | if let Some(ls) = ls { [INFO] [stdout] | ^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/simple_path.rs:77:21 [INFO] [stdout] | [INFO] [stdout] 77 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 69 ~ match ls { Some(ls) => { [INFO] [stdout] 70 | if !ls.l.is_zero() && ls.pdf > 0.0 { [INFO] [stdout] ... [INFO] [stdout] 76 | } [INFO] [stdout] 77 ~ } _ => {}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/path.rs:118:27 [INFO] [stdout] | [INFO] [stdout] 118 | } else if let Some(light) = &si.intr.area_light { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^------------------ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/path.rs:123:17 [INFO] [stdout] | [INFO] [stdout] 123 | } [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 118 ~ } else { match &si.intr.area_light { Some(light) => { [INFO] [stdout] 119 | let p_l = self.light_sampler.pmf(&prev_intr_ctx, light) [INFO] [stdout] ... [INFO] [stdout] 122 | l += beta * w_l * le; [INFO] [stdout] 123 ~ } _ => {}}} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/simple_vol_path.rs:103:16 [INFO] [stdout] | [INFO] [stdout] 103 | if let Some(bsdf) = si.intr.get_bsdf(ray, lambda, camera, sampler, options, rng) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^-------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/simple_vol_path.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | } 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] 103 ~ match si.intr.get_bsdf(ray, lambda, camera, sampler, options, rng) { Some(bsdf) => { [INFO] [stdout] 104 | let uc = sampler.get_1d(); [INFO] [stdout] ... [INFO] [stdout] 110 | } [INFO] [stdout] 111 ~ } _ => { [INFO] [stdout] 112 | si.intr.skip_intersection(ray, si.t_hit); [INFO] [stdout] 113 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:105:32 [INFO] [stdout] | [INFO] [stdout] 105 | let t_max = if let Some(ref s) = si { s.t_hit } else { 1.0 - Self::SHADOW_EPSILON }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:105:63 [INFO] [stdout] | [INFO] [stdout] 105 | let t_max = if let Some(ref s) = si { s.t_hit } else { 1.0 - Self::SHADOW_EPSILON }; [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 105 | let t_max = match si { Some(ref s) => { s.t_hit } _ => { 1.0 - Self::SHADOW_EPSILON }}; [INFO] [stdout] | ~~~~~ ++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:143:16 [INFO] [stdout] | [INFO] [stdout] 143 | if let Some(ref s) = si { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:145:13 [INFO] [stdout] | [INFO] [stdout] 145 | } else { [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 143 ~ match si { Some(ref s) => { [INFO] [stdout] 144 | light_ray = s.intr.interaction.spawn_ray_to_interaction(&ls.p_light); [INFO] [stdout] 145 ~ } _ => { [INFO] [stdout] 146 | break; [INFO] [stdout] 147 ~ }} [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `if let` assigns a shorter lifetime since Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:190:32 [INFO] [stdout] | [INFO] [stdout] 190 | let t_max = if let Some(ref s) = si { s.t_hit } else { Float::INFINITY }; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^-- [INFO] [stdout] | | [INFO] [stdout] | this value has a significant drop implementation which may observe a major change in drop order and requires your discretion [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #124085 [INFO] [stdout] help: the value is now dropped here in Edition 2024 [INFO] [stdout] --> src/integrator/vol_path.rs:190:63 [INFO] [stdout] | [INFO] [stdout] 190 | let t_max = if let Some(ref s) = si { s.t_hit } else { Float::INFINITY }; [INFO] [stdout] | ^ [INFO] [stdout] help: a `match` with a single arm can preserve the drop order up to Edition 2021 [INFO] [stdout] | [INFO] [stdout] 190 | let t_max = match si { Some(ref s) => { s.t_hit } _ => { Float::INFINITY }}; [INFO] [stdout] | ~~~~~ ++++++++++++++++ ~~~~ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 109 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Migrating src/main.rs from 2021 edition to 2024 [INFO] [stderr] Migrating tests/image.rs from 2021 edition to 2024 [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.37s [INFO] [stderr] Running `cargo check` to verify 2024 [INFO] [stderr] Checking cray v0.1.0 (/tmp/fixit) [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/math/sampling.rs:515:21 [INFO] [stdout] | [INFO] [stdout] 515 | if self.rng.gen::() < p { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 515 | if self.rng.r#gen::() < p { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/math/sampling.rs:515:21 [INFO] [stdout] | [INFO] [stdout] 515 | if self.rng.gen::() < p { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 515 | if self.rng.r#gen::() < p { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/math/sampling.rs:527:21 [INFO] [stdout] | [INFO] [stdout] 527 | if self.rng.gen::() < p { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 527 | if self.rng.r#gen::() < p { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/math/sampling.rs:527:21 [INFO] [stdout] | [INFO] [stdout] 527 | if self.rng.gen::() < p { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 527 | if self.rng.r#gen::() < p { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/camera/filter.rs:386:56 [INFO] [stdout] | [INFO] [stdout] 386 | ... let u = Point2f::new((x as Float + rng.gen::()) / SQRT_SAMPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as... [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 386 | let u = Point2f::new((x as Float + rng.r#gen::()) / SQRT_SAMPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as Float); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/camera/filter.rs:386:115 [INFO] [stdout] | [INFO] [stdout] 386 | .../ SQRT_SAMPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as Float); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 386 | let u = Point2f::new((x as Float + rng.gen::()) / SQRT_SAMPLES as Float, (y as Float + rng.r#gen::()) / SQRT_SAMPLES as Float); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/camera/filter.rs:386:56 [INFO] [stdout] | [INFO] [stdout] 386 | ... let u = Point2f::new((x as Float + rng.gen::()) / SQRT_SAMPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as... [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 386 | let u = Point2f::new((x as Float + rng.r#gen::()) / SQRT_SAMPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as Float); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/camera/filter.rs:386:115 [INFO] [stdout] | [INFO] [stdout] 386 | .../ SQRT_SAMPLES as Float, (y as Float + rng.gen::()) / SQRT_SAMPLES as Float); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 386 | let u = Point2f::new((x as Float + rng.gen::()) / SQRT_SAMPLES as Float, (y as Float + rng.r#gen::()) / SQRT_SAMPLES as Float); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/media/mod.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | u = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 175 | u = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/media/mod.rs:175:21 [INFO] [stdout] | [INFO] [stdout] 175 | u = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 175 | u = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/material/mod.rs:331:21 [INFO] [stdout] | [INFO] [stdout] 331 | let u = rng.gen::(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 331 | let u = rng.r#gen::(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/material/mod.rs:331:21 [INFO] [stdout] | [INFO] [stdout] 331 | let u = rng.gen::(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 331 | let u = rng.r#gen::(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | self.rng.gen() [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 129 | self.rng.r#gen() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 134 | x: self.rng.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 134 | x: self.rng.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | y: self.rng.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 135 | y: self.rng.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:222:46 [INFO] [stdout] | [INFO] [stdout] 222 | let delta= if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 222 | let delta= if self.jitter { self.rng.r#gen() } else { 0.5 }; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:237:44 [INFO] [stdout] | [INFO] [stdout] 237 | let dx = if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 237 | let dx = if self.jitter { self.rng.r#gen() } else { 0.5 }; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:238:44 [INFO] [stdout] | [INFO] [stdout] 238 | let dy = if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 238 | let dy = if self.jitter { self.rng.r#gen() } else { 0.5 }; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | self.rng.gen() [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 129 | self.rng.r#gen() [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:134:25 [INFO] [stdout] | [INFO] [stdout] 134 | x: self.rng.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 134 | x: self.rng.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:135:25 [INFO] [stdout] | [INFO] [stdout] 135 | y: self.rng.gen(), [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 135 | y: self.rng.r#gen(), [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:222:46 [INFO] [stdout] | [INFO] [stdout] 222 | let delta= if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 222 | let delta= if self.jitter { self.rng.r#gen() } else { 0.5 }; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:237:44 [INFO] [stdout] | [INFO] [stdout] 237 | let dx = if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 237 | let dx = if self.jitter { self.rng.r#gen() } else { 0.5 }; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/sampler.rs:238:44 [INFO] [stdout] | [INFO] [stdout] 238 | let dy = if self.jitter { self.rng.gen() } else { 0.5 }; [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 238 | let dy = if self.jitter { self.rng.r#gen() } else { 0.5 }; [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/bxdf/layered.rs:232:32 [INFO] [stdout] | [INFO] [stdout] 232 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 232 | let v: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/bxdf/layered.rs:432:32 [INFO] [stdout] | [INFO] [stdout] 432 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 432 | let v: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/bxdf/layered.rs:564:32 [INFO] [stdout] | [INFO] [stdout] 564 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 564 | let v: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/bxdf/layered.rs:232:32 [INFO] [stdout] | [INFO] [stdout] 232 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 232 | let v: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/bxdf/layered.rs:432:32 [INFO] [stdout] | [INFO] [stdout] 432 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 432 | let v: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/bxdf/layered.rs:564:32 [INFO] [stdout] | [INFO] [stdout] 564 | let v: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 564 | let v: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/simple_vol_path.rs:65:54 [INFO] [stdout] | [INFO] [stdout] 65 | ... let u = Point2f::new(rng.gen(), rng.gen()); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 65 | let u = Point2f::new(rng.r#gen(), rng.gen()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/simple_vol_path.rs:65:65 [INFO] [stdout] | [INFO] [stdout] 65 | ... let u = Point2f::new(rng.gen(), rng.gen()); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 65 | let u = Point2f::new(rng.gen(), rng.r#gen()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/simple_vol_path.rs:78:42 [INFO] [stdout] | [INFO] [stdout] 78 | ... u_mode = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 78 | u_mode = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/simple_vol_path.rs:65:54 [INFO] [stdout] | [INFO] [stdout] 65 | ... let u = Point2f::new(rng.gen(), rng.gen()); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 65 | let u = Point2f::new(rng.r#gen(), rng.gen()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/vol_path.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | let u: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 106 | let u: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/simple_vol_path.rs:65:65 [INFO] [stdout] | [INFO] [stdout] 65 | ... let u = Point2f::new(rng.gen(), rng.gen()); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 65 | let u = Point2f::new(rng.gen(), rng.r#gen()); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/vol_path.rs:123:36 [INFO] [stdout] | [INFO] [stdout] 123 | ... if rng.gen::() < q { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 123 | if rng.r#gen::() < q { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/simple_vol_path.rs:78:42 [INFO] [stdout] | [INFO] [stdout] 78 | ... u_mode = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 78 | u_mode = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/vol_path.rs:222:45 [INFO] [stdout] | [INFO] [stdout] 222 | let um: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 222 | let um: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/vol_path.rs:106:36 [INFO] [stdout] | [INFO] [stdout] 106 | let u: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 106 | let u: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/vol_path.rs:123:36 [INFO] [stdout] | [INFO] [stdout] 123 | ... if rng.gen::() < q { [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 123 | if rng.r#gen::() < q { [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected identifier, found reserved keyword `gen` [INFO] [stdout] --> src/integrator/vol_path.rs:222:45 [INFO] [stdout] | [INFO] [stdout] 222 | let um: Float = rng.gen(); [INFO] [stdout] | ^^^ expected identifier, found reserved keyword [INFO] [stdout] | [INFO] [stdout] help: escape `gen` to use it as an identifier [INFO] [stdout] | [INFO] [stdout] 222 | let um: Float = rng.r#gen(); [INFO] [stdout] | ++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/media/iterator.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 57 | impl<'a> DDAMajorantIterator<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 64 | ) -> DDAMajorantIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: elided lifetime has a name [INFO] [stdout] --> src/media/iterator.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 57 | impl<'a> DDAMajorantIterator<'a> { [INFO] [stdout] | -- lifetime `'a` declared here [INFO] [stdout] ... [INFO] [stdout] 64 | ) -> DDAMajorantIterator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ this elided lifetime gets resolved as `'a` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(elided_named_lifetimes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 21 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `cray` (lib test) due to 22 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `cray` (lib) due to 22 previous errors; 1 warning emitted [INFO] [stderr] error: failed to check after updating to 2024 [INFO] [stderr] [INFO] [stderr] Caused by: [INFO] [stderr] process didn't exit successfully: `cargo check --frozen --all --all-targets --message-format=json` (exit status: 101) [INFO] running `Command { std: "docker" "inspect" "82479309abc767f00d51f7b87c36b5dd062c29f58926db81a1c9b9d618ceb0a2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "82479309abc767f00d51f7b87c36b5dd062c29f58926db81a1c9b9d618ceb0a2", kill_on_drop: false }` [INFO] [stdout] 82479309abc767f00d51f7b87c36b5dd062c29f58926db81a1c9b9d618ceb0a2