[INFO] cloning repository https://github.com/Shadlock0133/lox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Shadlock0133/lox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShadlock0133%2Flox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShadlock0133%2Flox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 1d023cc803ef143aecb87d53663e1980b107f915 [INFO] checking Shadlock0133/lox/1d023cc803ef143aecb87d53663e1980b107f915 against try#4d98531622e1718ae0bc3c7a1ab9cd8938428452+rustflags=-Dtail_expr_drop_order for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShadlock0133%2Flox" "/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/Shadlock0133/lox on toolchain 4d98531622e1718ae0bc3c7a1ab9cd8938428452 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Shadlock0133/lox [INFO] finished tweaking git repo https://github.com/Shadlock0133/lox [INFO] tweaked toml for git repo https://github.com/Shadlock0133/lox written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Shadlock0133/lox 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" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 2f54eb2eb4761da68676b31e5930de6bb32ac4d4c827bca605fd25b5ba672ecb [INFO] running `Command { std: "docker" "start" "-a" "2f54eb2eb4761da68676b31e5930de6bb32ac4d4c827bca605fd25b5ba672ecb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "2f54eb2eb4761da68676b31e5930de6bb32ac4d4c827bca605fd25b5ba672ecb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "2f54eb2eb4761da68676b31e5930de6bb32ac4d4c827bca605fd25b5ba672ecb", kill_on_drop: false }` [INFO] [stdout] 2f54eb2eb4761da68676b31e5930de6bb32ac4d4c827bca605fd25b5ba672ecb [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 -Dtail_expr_drop_order" "-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+4d98531622e1718ae0bc3c7a1ab9cd8938428452" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 9a5faf110aaa643ceca4f2cb50f56775121803af70e728a1d64a93e39b6238b9 [INFO] running `Command { std: "docker" "start" "-a" "9a5faf110aaa643ceca4f2cb50f56775121803af70e728a1d64a93e39b6238b9", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Compiling version_check v0.9.3 [INFO] [stderr] Compiling syn v1.0.72 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling unicode-segmentation v1.7.1 [INFO] [stderr] Compiling anyhow v1.0.40 [INFO] [stderr] Checking endian-type v0.1.2 [INFO] [stderr] Checking nibble_vec v0.1.0 [INFO] [stderr] Checking utf8parse v0.2.0 [INFO] [stderr] Checking radix_trie v0.2.1 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling heck v0.3.2 [INFO] [stderr] Compiling quote v1.0.9 [INFO] [stderr] Checking dirs-sys-next v0.1.2 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking nix v0.20.0 [INFO] [stderr] Checking fd-lock v2.0.0 [INFO] [stderr] Checking dirs-next v2.0.0 [INFO] [stderr] Checking clap v2.33.3 [INFO] [stderr] Compiling thiserror-impl v1.0.25 [INFO] [stderr] Compiling structopt-derive v0.4.14 [INFO] [stderr] Checking rustyline v8.2.0 [INFO] [stderr] Checking thiserror v1.0.25 [INFO] [stderr] Checking structopt v0.3.21 [INFO] [stderr] Checking lox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/jlox/test_framework.rs:153:45 [INFO] [stdout] | [INFO] [stdout] 153 | .flat_map(|x| std::array::IntoIter::new([x, "\n"])) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::array::IntoIter::::new`: use `IntoIterator::into_iter` instead [INFO] [stdout] --> src/jlox/test_framework.rs:153:45 [INFO] [stdout] | [INFO] [stdout] 153 | .flat_map(|x| std::array::IntoIter::new([x, "\n"])) [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/table.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn insert(&mut self, key: ObjString, value: V) -> bool { [INFO] [stdout] | -------------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | self.insert_entry(OccupiedEntry { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 52 | | key: Box::new(key), [INFO] [stdout] 53 | | value, [INFO] [stdout] 54 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/value.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn into_string(self) -> Option { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 42 | self.into_obj_string().map(|s| s.0.into_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/vm.rs:141:15 [INFO] [stdout] | [INFO] [stdout] 138 | fn bin_op(&mut self, op: impl Fn(f64, f64) -> Value) -> Result { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 139 | let b = self.pop()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 140 | let a = self.pop()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | match (a, b) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/vm.rs:215:27 [INFO] [stdout] | [INFO] [stdout] 213 | let b = self.pop()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 214 | let a = self.pop()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 215 | self.push(Value::bool(a == b)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/vm.rs:243:27 [INFO] [stdout] | [INFO] [stdout] 242 | let value = self.pop()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 243 | self.push(Value::bool(value.is_falsey())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn assign(name: Token, value: Expr) -> Self { [INFO] [stdout] | ----------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 54 | value: Box::new(value), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:61:19 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn binary(op: Token, left: Expr, right: Expr) -> Self { [INFO] [stdout] | --------- ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 61 | left: Box::new(left), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:62:20 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn binary(op: Token, left: Expr, right: Expr) -> Self { [INFO] [stdout] | --------- ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 62 | right: Box::new(right), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 67 | callee: Expr, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 68 | right_paren: Token, [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 69 | arguments: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 72 | callee: Box::new(callee), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn get(object: Expr, name: Token) -> Self { [INFO] [stdout] | ------------ ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 79 | Self::Get { [INFO] [stdout] 80 | object: Box::new(object), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn grouping(expr: Expr) -> Self { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 86 | Self::Grouping { [INFO] [stdout] 87 | expr: Box::new(expr), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn set(object: Expr, name: Token, value: Expr) -> Self { [INFO] [stdout] | ------------ ----------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 96 | Self::Set { [INFO] [stdout] 97 | object: Box::new(object), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:99:20 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn set(object: Expr, name: Token, value: Expr) -> Self { [INFO] [stdout] | ------------ ----------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 99 | value: Box::new(value), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn unary(op: Token, right: Expr) -> Self { [INFO] [stdout] | --------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 114 | right: Box::new(right), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:188:24 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn function(name: Token, params: Vec, body: Vec) -> Self { [INFO] [stdout] | ----------- ------------------ --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 188 | Self::Function(Function { name, params, body }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:198:26 [INFO] [stdout] | [INFO] [stdout] 192 | condition: Expr, [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 193 | then_branch: Stmt, [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 194 | else_branch: Option, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 198 | then_branch: Box::new(then_branch), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:199:26 [INFO] [stdout] | [INFO] [stdout] 192 | condition: Expr, [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 193 | then_branch: Stmt, [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 194 | else_branch: Option, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 199 | else_branch: else_branch.map(Box::new), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:218:19 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn while_(condition: Expr, body: Stmt) -> Self { [INFO] [stdout] | --------------- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 218 | body: Box::new(body), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/environment.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 59 | fn new(enclosing: Environment) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 60 | Self { [INFO] [stdout] 61 | enclosing: Some(enclosing), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/environment.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 59 | fn new(enclosing: Environment) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 62 | ..Default::default() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/errors.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 46 | message: S, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 47 | ) -> ControlFlow { [INFO] [stdout] 48 | ControlFlow::Error(Self(GenericError(token.cloned(), message.into()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/errors.rs:81:14 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new(token: Option, msg: String) -> Self { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | Self(GenericError(token, msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/errors.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn new(token: Option<&Token>, msg: impl Into) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 93 | Self(GenericError(token.cloned(), msg.into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(output: W) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | let mut global = Environment::default(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | let current = global.clone(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 60 | output: Box::new(output), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(output: W) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | let mut global = Environment::default(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | let current = global.clone(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 63 | locals: HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:133:27 [INFO] [stdout] | [INFO] [stdout] 129 | l: ValueRef, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 130 | r: ValueRef, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | f: F, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | ) -> RuntimeResult { [INFO] [stdout] 133 | match (l.value(), r.value()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:383:31 [INFO] [stdout] | [INFO] [stdout] 380 | let value = self.visit_expr(&mut Expr::variable( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 383 | match value.value() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:392:36 [INFO] [stdout] | [INFO] [stdout] 392 | .map(|(r, s)| (Some(r), (Some(s)))) [INFO] [stdout] | ------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:392:45 [INFO] [stdout] | [INFO] [stdout] 392 | .map(|(r, s)| (Some(r), (Some(s)))) [INFO] [stdout] | ------ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter/tests.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 49 | let tokens = Tokenizer::new(x) [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 53 | let mut ast = Parser::new(tokens).parse().unwrap(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 56 | let mut interpreter = Interpreter::new(&mut output); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 57 | / Resolver::new(&mut interpreter.locals) [INFO] [stdout] 58 | | .resolve(&mut ast) [INFO] [stdout] | |__________________________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:63:25 [INFO] [stdout] | [INFO] [stdout] 60 | token: Token, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | message: S, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 62 | ) -> ParseError { [INFO] [stdout] 63 | ParseError::new(Some(token), message.into()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 69 | message: S, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 74 | Err(self.error(self.peek(), message)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 117 | let name = self.consume(Identifier, "Expect class name.")?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 118 | [INFO] [stdout] 119 | let superclass = if self.match_(&[Less]) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 128 | let mut methods = vec![]; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 134 | Ok(Stmt::class(name, superclass, methods)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 138 | let name = [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 142 | let mut params = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 161 | let body = self.block()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 162 | Ok(Function { name, params, body }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/table.rs:51:27 [INFO] [stdout] | [INFO] [stdout] 50 | pub fn insert(&mut self, key: ObjString, value: V) -> bool { [INFO] [stdout] | -------------- -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 51 | self.insert_entry(OccupiedEntry { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 52 | | key: Box::new(key), [INFO] [stdout] 53 | | value, [INFO] [stdout] 54 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 166 | let name = self.consume(Identifier, "Expect variable name.")?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | let init = if self.match_(&[Equal]) { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 173 | Ok(Stmt::var(name, init)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/value.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 41 | pub fn into_string(self) -> Option { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 42 | self.into_obj_string().map(|s| s.0.into_string()) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:226:55 [INFO] [stdout] | [INFO] [stdout] 226 | condition.unwrap_or_else(|| Expr::literal(Value::Bool(true))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 239 | let condition = self.expression()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 242 | let then_branch = self.statement()?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 243 | let else_branch = if self.match_(&[Else]) { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | Ok(Stmt::if_(condition, then_branch, else_branch)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 253 | let expr = self.expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | self.consume(Semicolon, "Expect ';' after value.")?; [INFO] [stdout] 255 | Ok(Stmt::print(expr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/vm.rs:141:15 [INFO] [stdout] | [INFO] [stdout] 138 | fn bin_op(&mut self, op: impl Fn(f64, f64) -> Value) -> Result { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 139 | let b = self.pop()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 140 | let a = self.pop()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 141 | match (a, b) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 259 | let keyword = self.previous(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 260 | let value = if !self.check(Semicolon) { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 266 | Ok(Stmt::return_(keyword, value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/vm.rs:215:27 [INFO] [stdout] | [INFO] [stdout] 213 | let b = self.pop()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 214 | let a = self.pop()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 215 | self.push(Value::bool(a == b)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 271 | let condition = self.expression()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 274 | let body = self.statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 275 | [INFO] [stdout] 276 | Ok(Stmt::while_(condition, body)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/clox/vm.rs:243:27 [INFO] [stdout] | [INFO] [stdout] 242 | let value = self.pop()?; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 243 | self.push(Value::bool(value.is_falsey())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 291 | let expr = self.expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 292 | self.consume(Semicolon, "Expect ';' after value.")?; [INFO] [stdout] 293 | Ok(Stmt::expression(expr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:439:12 [INFO] [stdout] | [INFO] [stdout] 418 | fn finish_call(&mut self, callee: Expr) -> ParseResult { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 419 | let mut arguments = Vec::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 436 | let right_paren = [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 439 | Ok(Expr::call(callee, right_paren, arguments)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:54:20 [INFO] [stdout] | [INFO] [stdout] 51 | pub fn assign(name: Token, value: Expr) -> Self { [INFO] [stdout] | ----------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 54 | value: Box::new(value), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:61:19 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn binary(op: Token, left: Expr, right: Expr) -> Self { [INFO] [stdout] | --------- ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 61 | left: Box::new(left), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:62:20 [INFO] [stdout] | [INFO] [stdout] 58 | pub fn binary(op: Token, left: Expr, right: Expr) -> Self { [INFO] [stdout] | --------- ---------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 62 | right: Box::new(right), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:72:21 [INFO] [stdout] | [INFO] [stdout] 67 | callee: Expr, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 68 | right_paren: Token, [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 69 | arguments: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 72 | callee: Box::new(callee), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:80:21 [INFO] [stdout] | [INFO] [stdout] 78 | pub fn get(object: Expr, name: Token) -> Self { [INFO] [stdout] | ------------ ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 79 | Self::Get { [INFO] [stdout] 80 | object: Box::new(object), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/test_framework.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 187 | prefix: impl AsRef, [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 188 | path: impl AsRef, [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 197 | let error = match test_handler(path) { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 202 | Err(e) => e, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 230 | Err(error.into()) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 85 | pub fn grouping(expr: Expr) -> Self { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 86 | Self::Grouping { [INFO] [stdout] 87 | expr: Box::new(expr), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:97:21 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn set(object: Expr, name: Token, value: Expr) -> Self { [INFO] [stdout] | ------------ ----------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 96 | Self::Set { [INFO] [stdout] 97 | object: Box::new(object), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:99:20 [INFO] [stdout] | [INFO] [stdout] 95 | pub fn set(object: Expr, name: Token, value: Expr) -> Self { [INFO] [stdout] | ------------ ----------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 99 | value: Box::new(value), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/test_framework.rs:273:11 [INFO] [stdout] | [INFO] [stdout] 251 | fn test_handler(file: impl AsRef) -> Result<(), TestError> { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 252 | let source = fs::read_to_string(file)?; [INFO] [stdout] 253 | let mut all_tokens = match tokenize(&source) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | Ok(tokens) => tokens, [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 268 | let tokens = all_tokens; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 271 | let res = run(tokens, &mut output); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 272 | let output = String::from_utf8(output)?; [INFO] [stdout] 273 | match (res, expected.runtime_error) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:114:20 [INFO] [stdout] | [INFO] [stdout] 111 | pub fn unary(op: Token, right: Expr) -> Self { [INFO] [stdout] | --------- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 114 | right: Box::new(right), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:188:24 [INFO] [stdout] | [INFO] [stdout] 187 | pub fn function(name: Token, params: Vec, body: Vec) -> Self { [INFO] [stdout] | ----------- ------------------ --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | | [INFO] [stdout] | | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 188 | Self::Function(Function { name, params, body }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:198:26 [INFO] [stdout] | [INFO] [stdout] 192 | condition: Expr, [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 193 | then_branch: Stmt, [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 194 | else_branch: Option, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 198 | then_branch: Box::new(then_branch), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn fun(arity: usize, f: F) -> Self [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 59 | Self::from_value(Value::Fun(Fun::Native { [INFO] [stdout] | __________________________^ [INFO] [stdout] 60 | | inner: Arc::new(f), [INFO] [stdout] 61 | | arity, [INFO] [stdout] 62 | | })) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:199:26 [INFO] [stdout] | [INFO] [stdout] 192 | condition: Expr, [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 193 | then_branch: Stmt, [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 194 | else_branch: Option, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 199 | else_branch: else_branch.map(Box::new), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:66:14 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn from_value(value: Value) -> Self { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 66 | Self(Arc::new(RwLock::new(value))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/ast.rs:218:19 [INFO] [stdout] | [INFO] [stdout] 215 | pub fn while_(condition: Expr, body: Stmt) -> Self { [INFO] [stdout] | --------------- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 218 | body: Box::new(body), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/environment.rs:61:24 [INFO] [stdout] | [INFO] [stdout] 59 | fn new(enclosing: Environment) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 60 | Self { [INFO] [stdout] 61 | enclosing: Some(enclosing), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/environment.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 59 | fn new(enclosing: Environment) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 62 | ..Default::default() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/errors.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 46 | message: S, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 47 | ) -> ControlFlow { [INFO] [stdout] 48 | ControlFlow::Error(Self(GenericError(token.cloned(), message.into()))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:223:26 [INFO] [stdout] | [INFO] [stdout] 218 | declaration: ast::Function, [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 219 | closure: Environment, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 223 | declaration: Box::new(declaration), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/errors.rs:81:14 [INFO] [stdout] | [INFO] [stdout] 80 | pub fn new(token: Option, msg: String) -> Self { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | Self(GenericError(token, msg)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 263 | let mut closure = self.closure.enclose(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 264 | closure.define("this".into(), instance.clone()); [INFO] [stdout] 265 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 266 | | closure, [INFO] [stdout] 267 | | ..self.clone() [INFO] [stdout] 268 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/errors.rs:93:14 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn new(token: Option<&Token>, msg: impl Into) -> Self { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 93 | Self(GenericError(token.cloned(), msg.into())) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:60:21 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(output: W) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | let mut global = Environment::default(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | let current = global.clone(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 60 | output: Box::new(output), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:287:25 [INFO] [stdout] | [INFO] [stdout] 282 | superclass: Option, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 283 | methods: BTreeMap, [INFO] [stdout] | -------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 287 | superclass: superclass.map(Box::new), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:321:21 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn new(class: Class) -> Self { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 321 | fields: BTreeMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:63:21 [INFO] [stdout] | [INFO] [stdout] 37 | pub fn new(output: W) -> Self { [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | let mut global = Environment::default(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 57 | let current = global.clone(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 63 | locals: HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:133:27 [INFO] [stdout] | [INFO] [stdout] 129 | l: ValueRef, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 130 | r: ValueRef, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | f: F, [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 132 | ) -> RuntimeResult { [INFO] [stdout] 133 | match (l.value(), r.value()) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:383:31 [INFO] [stdout] | [INFO] [stdout] 380 | let value = self.visit_expr(&mut Expr::variable( [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 383 | match value.value() { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:392:36 [INFO] [stdout] | [INFO] [stdout] 392 | .map(|(r, s)| (Some(r), (Some(s)))) [INFO] [stdout] | ------ ^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/interpreter.rs:392:45 [INFO] [stdout] | [INFO] [stdout] 392 | .map(|(r, s)| (Some(r), (Some(s)))) [INFO] [stdout] | ------ ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:63:25 [INFO] [stdout] | [INFO] [stdout] 60 | token: Token, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | message: S, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 62 | ) -> ParseError { [INFO] [stdout] 63 | ParseError::new(Some(token), message.into()) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 69 | message: S, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 74 | Err(self.error(self.peek(), message)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:134:12 [INFO] [stdout] | [INFO] [stdout] 117 | let name = self.consume(Identifier, "Expect class name.")?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 118 | [INFO] [stdout] 119 | let superclass = if self.match_(&[Less]) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 128 | let mut methods = vec![]; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 134 | Ok(Stmt::class(name, superclass, methods)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:162:12 [INFO] [stdout] | [INFO] [stdout] 138 | let name = [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 142 | let mut params = Vec::new(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 161 | let body = self.block()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 162 | Ok(Function { name, params, body }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:173:12 [INFO] [stdout] | [INFO] [stdout] 166 | let name = self.consume(Identifier, "Expect variable name.")?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | let init = if self.match_(&[Equal]) { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 173 | Ok(Stmt::var(name, init)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:226:55 [INFO] [stdout] | [INFO] [stdout] 226 | condition.unwrap_or_else(|| Expr::literal(Value::Bool(true))), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:249:12 [INFO] [stdout] | [INFO] [stdout] 239 | let condition = self.expression()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 242 | let then_branch = self.statement()?; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 243 | let else_branch = if self.match_(&[Else]) { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | Ok(Stmt::if_(condition, then_branch, else_branch)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:255:12 [INFO] [stdout] | [INFO] [stdout] 253 | let expr = self.expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | self.consume(Semicolon, "Expect ';' after value.")?; [INFO] [stdout] 255 | Ok(Stmt::print(expr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:266:12 [INFO] [stdout] | [INFO] [stdout] 259 | let keyword = self.previous(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 260 | let value = if !self.check(Semicolon) { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 266 | Ok(Stmt::return_(keyword, value)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 271 | let condition = self.expression()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 274 | let body = self.statement()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 275 | [INFO] [stdout] 276 | Ok(Stmt::while_(condition, body)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:293:12 [INFO] [stdout] | [INFO] [stdout] 291 | let expr = self.expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 292 | self.consume(Semicolon, "Expect ';' after value.")?; [INFO] [stdout] 293 | Ok(Stmt::expression(expr)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/parser.rs:439:12 [INFO] [stdout] | [INFO] [stdout] 418 | fn finish_call(&mut self, callee: Expr) -> ParseResult { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 419 | let mut arguments = Vec::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 436 | let right_paren = [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 439 | Ok(Expr::call(callee, right_paren, arguments)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/test_framework.rs:230:9 [INFO] [stdout] | [INFO] [stdout] 187 | prefix: impl AsRef, [INFO] [stdout] | ------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 188 | path: impl AsRef, [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 197 | let error = match test_handler(path) { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 202 | Err(e) => e, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 230 | Err(error.into()) [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/test_framework.rs:273:11 [INFO] [stdout] | [INFO] [stdout] 251 | fn test_handler(file: impl AsRef) -> Result<(), TestError> { [INFO] [stdout] | ---------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 252 | let source = fs::read_to_string(file)?; [INFO] [stdout] 253 | let mut all_tokens = match tokenize(&source) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 254 | Ok(tokens) => tokens, [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 268 | let tokens = all_tokens; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 271 | let res = run(tokens, &mut output); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 272 | let output = String::from_utf8(output)?; [INFO] [stdout] 273 | match (res, expected.runtime_error) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:59:26 [INFO] [stdout] | [INFO] [stdout] 52 | pub fn fun(arity: usize, f: F) -> Self [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 59 | Self::from_value(Value::Fun(Fun::Native { [INFO] [stdout] | __________________________^ [INFO] [stdout] 60 | | inner: Arc::new(f), [INFO] [stdout] 61 | | arity, [INFO] [stdout] 62 | | })) [INFO] [stdout] | |__________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:66:14 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn from_value(value: Value) -> Self { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 66 | Self(Arc::new(RwLock::new(value))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:223:26 [INFO] [stdout] | [INFO] [stdout] 218 | declaration: ast::Function, [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 219 | closure: Environment, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 223 | declaration: Box::new(declaration), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:265:12 [INFO] [stdout] | [INFO] [stdout] 263 | let mut closure = self.closure.enclose(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 264 | closure.define("this".into(), instance.clone()); [INFO] [stdout] 265 | Ok(Self { [INFO] [stdout] | ____________^ [INFO] [stdout] 266 | | closure, [INFO] [stdout] 267 | | ..self.clone() [INFO] [stdout] 268 | | }) [INFO] [stdout] | |_________^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:287:25 [INFO] [stdout] | [INFO] [stdout] 282 | superclass: Option, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 283 | methods: BTreeMap, [INFO] [stdout] | -------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 287 | superclass: superclass.map(Box::new), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/jlox/types.rs:321:21 [INFO] [stdout] | [INFO] [stdout] 318 | pub fn new(class: Class) -> Self { [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 321 | fields: BTreeMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 50 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 49 previous errors; 1 warning emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `lox` (lib test) due to 51 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `lox` (lib) due to 50 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "9a5faf110aaa643ceca4f2cb50f56775121803af70e728a1d64a93e39b6238b9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9a5faf110aaa643ceca4f2cb50f56775121803af70e728a1d64a93e39b6238b9", kill_on_drop: false }` [INFO] [stdout] 9a5faf110aaa643ceca4f2cb50f56775121803af70e728a1d64a93e39b6238b9