[INFO] cloning repository https://github.com/arlindohall/rlox [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/arlindohall/rlox" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farlindohall%2Frlox", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Farlindohall%2Frlox'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] ed34ec87383545d2797741bafc137b99427c75f8 [INFO] checking arlindohall/rlox/ed34ec87383545d2797741bafc137b99427c75f8 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%2Farlindohall%2Frlox" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/arlindohall/rlox 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/arlindohall/rlox [INFO] finished tweaking git repo https://github.com/arlindohall/rlox [INFO] tweaked toml for git repo https://github.com/arlindohall/rlox written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/arlindohall/rlox 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-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] a67b5a823f7904e94d6a6f8623a50de0d6b37dd145b1300d67f8bd9cd64749a4 [INFO] running `Command { std: "docker" "start" "-a" "a67b5a823f7904e94d6a6f8623a50de0d6b37dd145b1300d67f8bd9cd64749a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "a67b5a823f7904e94d6a6f8623a50de0d6b37dd145b1300d67f8bd9cd64749a4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a67b5a823f7904e94d6a6f8623a50de0d6b37dd145b1300d67f8bd9cd64749a4", kill_on_drop: false }` [INFO] [stdout] a67b5a823f7904e94d6a6f8623a50de0d6b37dd145b1300d67f8bd9cd64749a4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] 3ff57f579e662d56c7fd96669fdb2420c968040fa8ee28a4251f220d6c08a1e3 [INFO] running `Command { std: "docker" "start" "-a" "3ff57f579e662d56c7fd96669fdb2420c968040fa8ee28a4251f220d6c08a1e3", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.92 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Checking unicode-segmentation v1.6.0 [INFO] [stderr] Checking uuid v0.8.2 [INFO] [stderr] Checking rlox v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/interpreter.rs:1200:10 [INFO] [stdout] | [INFO] [stdout] 1200 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unnecessary trailing semicolon [INFO] [stdout] --> src/interpreter.rs:1200:10 [INFO] [stdout] | [INFO] [stdout] 1200 | }; [INFO] [stdout] | ^ help: remove this semicolon [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(redundant_semicolons)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Bindable` is never used [INFO] [stdout] --> src/interpreter.rs:113:11 [INFO] [stdout] | [INFO] [stdout] 113 | pub trait Bindable { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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/builtins.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn clock(global: SharedEnvironment) -> ObjectRef { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 33 | Object::function(LoxFunction::native( [INFO] [stdout] | ______________________^ [INFO] [stdout] 34 | | "clock".to_string(), [INFO] [stdout] 35 | | 0, [INFO] [stdout] 36 | | global, [INFO] [stdout] 37 | | clock_impl, [INFO] [stdout] 38 | | )) [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/builtins.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 47 | _args: Vec, [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 48 | _environment: SharedEnvironment, [INFO] [stdout] | ------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 51 | Ok(Object::list()) [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/builtins.rs:55:22 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn list(global: SharedEnvironment) -> ObjectRef { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 55 | Object::function(LoxFunction::native( [INFO] [stdout] | ______________________^ [INFO] [stdout] 56 | | "list".to_string(), [INFO] [stdout] 57 | | 0, [INFO] [stdout] 58 | | global, [INFO] [stdout] 59 | | list_impl, [INFO] [stdout] 60 | | )) [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/builtins.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 65 | args: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 66 | environment: SharedEnvironment, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | let value = args[0].clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 70 | let this = environment.borrow().values.get("this").unwrap().clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 71 | this.borrow_mut().push(value); [INFO] [stdout] 72 | Ok(this.clone()) [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/builtins.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 76 | _args: Vec, [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 77 | environment: SharedEnvironment, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 80 | let this = environment.borrow().values.get("this").unwrap().clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | let value = this.borrow_mut().pop(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 82 | Ok(value.or(Some(Object::nil())).unwrap()) [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/builtins.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 86 | args: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 87 | environment: SharedEnvironment, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 90 | let value = args[0].clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 91 | let this = environment.borrow().values.get("this").unwrap().clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 92 | let result = this.borrow().get(value); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 93 | Ok(result.or(Some(Object::nil())).unwrap()) [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/interpreter.rs:251:30 [INFO] [stdout] | [INFO] [stdout] 251 | .map(|f| Statement::Function { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 252 | | definition: f.clone() [INFO] [stdout] 253 | | } [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/interpreter.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 265 | let super_method = self [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 280 | self.methods.get(name).map(|m| m.clone()).or(super_method) [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/interpreter.rs:287:25 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn new(name: String, methods: HashMap) -> LoxClass { [INFO] [stdout] | ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 287 | superclass: None, [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/interpreter.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 333 | pub fn wrap(self) -> ObjectRef { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 334 | Rc::new(RefCell::new(self)) [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/interpreter.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 376 | pub fn function(f: FunctionRef) -> ObjectRef { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 377 | / Object { [INFO] [stdout] 378 | | value: ObjectType::Primitive(PrimitiveObject::Function(f)), [INFO] [stdout] 379 | | } [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/interpreter.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 433 | fn class(c: LoxClass) -> ObjectRef { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 434 | / Object { [INFO] [stdout] 435 | | value: ObjectType::Primitive( [INFO] [stdout] 436 | | PrimitiveObject::Class( [INFO] [stdout] 437 | | Rc::new(c) [INFO] [stdout] 438 | | ) [INFO] [stdout] 439 | | ), [INFO] [stdout] 440 | | } [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/interpreter.rs:445:9 [INFO] [stdout] | [INFO] [stdout] 444 | fn instance(i: Instance) -> ObjectRef { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 445 | / Object { [INFO] [stdout] 446 | | value: ObjectType::Instance(i), [INFO] [stdout] 447 | | } [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/interpreter.rs:490:32 [INFO] [stdout] | [INFO] [stdout] 490 | .map(|obj| obj.borrow().to_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] warning: panic message is not a string literal [INFO] [stdout] --> src/interpreter.rs:510:25 [INFO] [stdout] | [INFO] [stdout] 510 | _ => panic!(format!("cannot set property on {}", self.get_type())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 510 - _ => panic!(format!("cannot set property on {}", self.get_type())), [INFO] [stdout] 510 + _ => panic!("cannot set property on {}", self.get_type()), [INFO] [stdout] | [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/interpreter.rs:537:13 [INFO] [stdout] | [INFO] [stdout] 516 | this: ObjectRef, [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 537 | Err(crate::lox::runtime_error( [INFO] [stdout] | _____________^ [INFO] [stdout] 538 | | expression.clone(), [INFO] [stdout] 539 | | LoxErrorType::PropertyError, [INFO] [stdout] 540 | | &format!("undefined property {}", name), [INFO] [stdout] 541 | | )) [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/interpreter.rs:548:22 [INFO] [stdout] | [INFO] [stdout] 546 | pub fn with_env(environment: SharedEnvironment) -> Interpreter { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 547 | Interpreter { [INFO] [stdout] 548 | globals: environment.clone(), [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/interpreter.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 600 | fn assign_at(&self, distance: u16, name: &Token, value: ObjectRef) -> Result<(), LoxError> { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 610 | Ok(self [INFO] [stdout] | ____________^ [INFO] [stdout] 611 | | .ancestor(distance) [INFO] [stdout] 612 | | .borrow_mut() [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/interpreter.rs:1097:17 [INFO] [stdout] | [INFO] [stdout] 1096 | pub fn extend(environment: SharedEnvironment) -> SharedEnvironment { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1097 | Rc::new(RefCell::new(Environment { [INFO] [stdout] | _________________^ [INFO] [stdout] 1098 | | values: HashMap::new(), [INFO] [stdout] 1099 | | enclosing: Some(environment), [INFO] [stdout] 1100 | | })) [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/interpreter.rs:1158:17 [INFO] [stdout] | [INFO] [stdout] 1157 | fn wrap(self) -> FunctionRef { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1158 | Rc::new(RefCell::new(self)) [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/interpreter.rs:1167:9 [INFO] [stdout] | [INFO] [stdout] 1164 | global: SharedEnvironment, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1167 | / LoxFunction { [INFO] [stdout] 1168 | | arity, [INFO] [stdout] 1169 | | name, [INFO] [stdout] 1170 | | closure: global, [INFO] [stdout] 1171 | | is_initializer: false, [INFO] [stdout] 1172 | | exec: Executable::Native(f), [INFO] [stdout] 1173 | | } [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/interpreter.rs:1183:9 [INFO] [stdout] | [INFO] [stdout] 1180 | body: FunctionBodyRef, [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1181 | closure: SharedEnvironment, [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1182 | ) -> FunctionRef { [INFO] [stdout] 1183 | / LoxFunction { [INFO] [stdout] 1184 | | name, [INFO] [stdout] 1185 | | arity: params.len() as u8, [INFO] [stdout] 1186 | | closure, [INFO] [stdout] 1187 | | is_initializer: false, [INFO] [stdout] 1188 | | exec: Executable::Interpreted(body, params), [INFO] [stdout] 1189 | | } [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/interpreter.rs:1201:16 [INFO] [stdout] | [INFO] [stdout] 1193 | fn try_from(object: ObjectRef, expression: &Expression) -> Result { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1201 | match &object.borrow().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/interpreter.rs:1229:9 [INFO] [stdout] | [INFO] [stdout] 1226 | fn bind(&mut self, obj: ObjectRef) -> FunctionRef { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1227 | let env = Environment::extend(self.closure.clone()); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1228 | env.borrow_mut().define("this".to_string(), obj); [INFO] [stdout] 1229 | / LoxFunction { [INFO] [stdout] 1230 | | closure: env, [INFO] [stdout] 1231 | | is_initializer: self.is_initializer, [INFO] [stdout] 1232 | | arity: self.arity, [INFO] [stdout] 1233 | | exec: self.exec.clone(), // TODO: This might be expensive [INFO] [stdout] 1234 | | name: self.name.clone(), [INFO] [stdout] 1235 | | } [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/parser.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 223 | let superclass = if self.match_token(TokenType::Less) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 232 | let mut methods = Vec::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 238 | Ok(Statement::Class { [INFO] [stdout] | ____________^ [INFO] [stdout] 239 | | definition: ClassDefinition { [INFO] [stdout] 240 | | name, [INFO] [stdout] 241 | | methods, [INFO] [stdout] 242 | | superclass, [INFO] [stdout] 243 | | }, [INFO] [stdout] 244 | | }) [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] | [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/parser.rs:286:12 [INFO] [stdout] | [INFO] [stdout] 285 | let body = Rc::new(RefCell::new(self.block()?)); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 286 | Ok(FunctionDefinition { 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] | [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/parser.rs:302:12 [INFO] [stdout] | [INFO] [stdout] 292 | let initializer = if self.match_token(TokenType::Equal) { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 302 | Ok(Statement::Var { name, initializer }) [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] | [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/parser.rs:405:12 [INFO] [stdout] | [INFO] [stdout] 401 | let condition = self.expression()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 402 | self.consume(TokenType::RightParen, "expect ')' after while condition")?; [INFO] [stdout] 403 | let body = Box::new(self.statement()?); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 404 | [INFO] [stdout] 405 | Ok(Statement::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/parser.rs:420:12 [INFO] [stdout] | [INFO] [stdout] 410 | 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] 413 | let then_statement = Box::new(self.statement()?); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 414 | let else_statement = if self.match_token(TokenType::Else) { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 420 | Ok(Statement::If { [INFO] [stdout] | ____________^ [INFO] [stdout] 421 | | condition, [INFO] [stdout] 422 | | then_statement, [INFO] [stdout] 423 | | else_statement, [INFO] [stdout] 424 | | }) [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] | [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/parser.rs:430:12 [INFO] [stdout] | [INFO] [stdout] 428 | let expression = self.expression()?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 429 | self.consume(TokenType::Semicolon, "expect ';' after value")?; [INFO] [stdout] 430 | Ok(Statement::Print { expression }) [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/parser.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 435 | let value = if self.check(TokenType::Semicolon) { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 444 | Ok(Statement::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/parser.rs:461:12 [INFO] [stdout] | [INFO] [stdout] 459 | let expression = self.expression()?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 460 | self.consume(TokenType::Semicolon, "expect ';' after statement")?; [INFO] [stdout] 461 | Ok(Statement::Expression { expression }) [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/parser.rs:621:12 [INFO] [stdout] | [INFO] [stdout] 599 | fn finish_call(&mut self, expr: Expression) -> Result { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 600 | 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] 621 | Ok(Expression::call(expr, paren, arguments)) [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/parser.rs:745:25 [INFO] [stdout] | [INFO] [stdout] 743 | fn grouping(e: Expression) -> Expression { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 744 | Expression::Grouping { [INFO] [stdout] 745 | expression: Box::new(e), [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] warning: panic message is not a string literal [INFO] [stdout] --> src/parser.rs:816:25 [INFO] [stdout] | [INFO] [stdout] 816 | _ => panic!(format!( [INFO] [stdout] | _________________________^ [INFO] [stdout] 817 | | "Unrecoverable lox error to get expression id for expression {:?}", [INFO] [stdout] 818 | | self [INFO] [stdout] 819 | | )), [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 816 ~ _ => panic!( [INFO] [stdout] 817 | "Unrecoverable lox error to get expression id for expression {:?}", [INFO] [stdout] 818 | self [INFO] [stdout] 819 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 33 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Bindable` is never used [INFO] [stdout] --> src/interpreter.rs:113:11 [INFO] [stdout] | [INFO] [stdout] 113 | pub trait Bindable { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` 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/builtins.rs:33:22 [INFO] [stdout] | [INFO] [stdout] 32 | pub fn clock(global: SharedEnvironment) -> ObjectRef { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 33 | Object::function(LoxFunction::native( [INFO] [stdout] | ______________________^ [INFO] [stdout] 34 | | "clock".to_string(), [INFO] [stdout] 35 | | 0, [INFO] [stdout] 36 | | global, [INFO] [stdout] 37 | | clock_impl, [INFO] [stdout] 38 | | )) [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/builtins.rs:51:8 [INFO] [stdout] | [INFO] [stdout] 47 | _args: Vec, [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 48 | _environment: SharedEnvironment, [INFO] [stdout] | ------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 51 | Ok(Object::list()) [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/builtins.rs:55:22 [INFO] [stdout] | [INFO] [stdout] 54 | pub fn list(global: SharedEnvironment) -> ObjectRef { [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 55 | Object::function(LoxFunction::native( [INFO] [stdout] | ______________________^ [INFO] [stdout] 56 | | "list".to_string(), [INFO] [stdout] 57 | | 0, [INFO] [stdout] 58 | | global, [INFO] [stdout] 59 | | list_impl, [INFO] [stdout] 60 | | )) [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/builtins.rs:72:8 [INFO] [stdout] | [INFO] [stdout] 65 | args: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 66 | environment: SharedEnvironment, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 69 | let value = args[0].clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 70 | let this = environment.borrow().values.get("this").unwrap().clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 71 | this.borrow_mut().push(value); [INFO] [stdout] 72 | Ok(this.clone()) [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/builtins.rs:82:8 [INFO] [stdout] | [INFO] [stdout] 76 | _args: Vec, [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 77 | environment: SharedEnvironment, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 80 | let this = environment.borrow().values.get("this").unwrap().clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 81 | let value = this.borrow_mut().pop(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 82 | Ok(value.or(Some(Object::nil())).unwrap()) [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/builtins.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 86 | args: Vec, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 87 | environment: SharedEnvironment, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 90 | let value = args[0].clone(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 91 | let this = environment.borrow().values.get("this").unwrap().clone(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 92 | let result = this.borrow().get(value); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 93 | Ok(result.or(Some(Object::nil())).unwrap()) [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/interpreter.rs:251:30 [INFO] [stdout] | [INFO] [stdout] 251 | .map(|f| Statement::Function { [INFO] [stdout] | ______________________________^ [INFO] [stdout] 252 | | definition: f.clone() [INFO] [stdout] 253 | | } [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/interpreter.rs:280:9 [INFO] [stdout] | [INFO] [stdout] 265 | let super_method = self [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 280 | self.methods.get(name).map(|m| m.clone()).or(super_method) [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/interpreter.rs:287:25 [INFO] [stdout] | [INFO] [stdout] 283 | pub fn new(name: String, methods: HashMap) -> LoxClass { [INFO] [stdout] | ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 287 | superclass: None, [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/interpreter.rs:334:17 [INFO] [stdout] | [INFO] [stdout] 333 | pub fn wrap(self) -> ObjectRef { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 334 | Rc::new(RefCell::new(self)) [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/interpreter.rs:377:9 [INFO] [stdout] | [INFO] [stdout] 376 | pub fn function(f: FunctionRef) -> ObjectRef { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 377 | / Object { [INFO] [stdout] 378 | | value: ObjectType::Primitive(PrimitiveObject::Function(f)), [INFO] [stdout] 379 | | } [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/interpreter.rs:434:9 [INFO] [stdout] | [INFO] [stdout] 433 | fn class(c: LoxClass) -> ObjectRef { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 434 | / Object { [INFO] [stdout] 435 | | value: ObjectType::Primitive( [INFO] [stdout] 436 | | PrimitiveObject::Class( [INFO] [stdout] 437 | | Rc::new(c) [INFO] [stdout] 438 | | ) [INFO] [stdout] 439 | | ), [INFO] [stdout] 440 | | } [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/interpreter.rs:445:9 [INFO] [stdout] | [INFO] [stdout] 444 | fn instance(i: Instance) -> ObjectRef { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 445 | / Object { [INFO] [stdout] 446 | | value: ObjectType::Instance(i), [INFO] [stdout] 447 | | } [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/interpreter.rs:490:32 [INFO] [stdout] | [INFO] [stdout] 490 | .map(|obj| obj.borrow().to_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] warning: panic message is not a string literal [INFO] [stdout] --> src/interpreter.rs:510:25 [INFO] [stdout] | [INFO] [stdout] 510 | _ => panic!(format!("cannot set property on {}", self.get_type())), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] = note: `#[warn(non_fmt_panics)]` on by default [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 510 - _ => panic!(format!("cannot set property on {}", self.get_type())), [INFO] [stdout] 510 + _ => panic!("cannot set property on {}", self.get_type()), [INFO] [stdout] | [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/interpreter.rs:537:13 [INFO] [stdout] | [INFO] [stdout] 516 | this: ObjectRef, [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 537 | Err(crate::lox::runtime_error( [INFO] [stdout] | _____________^ [INFO] [stdout] 538 | | expression.clone(), [INFO] [stdout] 539 | | LoxErrorType::PropertyError, [INFO] [stdout] 540 | | &format!("undefined property {}", name), [INFO] [stdout] 541 | | )) [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/interpreter.rs:548:22 [INFO] [stdout] | [INFO] [stdout] 546 | pub fn with_env(environment: SharedEnvironment) -> Interpreter { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 547 | Interpreter { [INFO] [stdout] 548 | globals: environment.clone(), [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/interpreter.rs:610:12 [INFO] [stdout] | [INFO] [stdout] 600 | fn assign_at(&self, distance: u16, name: &Token, value: ObjectRef) -> Result<(), LoxError> { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 610 | Ok(self [INFO] [stdout] | ____________^ [INFO] [stdout] 611 | | .ancestor(distance) [INFO] [stdout] 612 | | .borrow_mut() [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/interpreter.rs:1097:17 [INFO] [stdout] | [INFO] [stdout] 1096 | pub fn extend(environment: SharedEnvironment) -> SharedEnvironment { [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1097 | Rc::new(RefCell::new(Environment { [INFO] [stdout] | _________________^ [INFO] [stdout] 1098 | | values: HashMap::new(), [INFO] [stdout] 1099 | | enclosing: Some(environment), [INFO] [stdout] 1100 | | })) [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/interpreter.rs:1158:17 [INFO] [stdout] | [INFO] [stdout] 1157 | fn wrap(self) -> FunctionRef { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1158 | Rc::new(RefCell::new(self)) [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/interpreter.rs:1167:9 [INFO] [stdout] | [INFO] [stdout] 1164 | global: SharedEnvironment, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1167 | / LoxFunction { [INFO] [stdout] 1168 | | arity, [INFO] [stdout] 1169 | | name, [INFO] [stdout] 1170 | | closure: global, [INFO] [stdout] 1171 | | is_initializer: false, [INFO] [stdout] 1172 | | exec: Executable::Native(f), [INFO] [stdout] 1173 | | } [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/interpreter.rs:1183:9 [INFO] [stdout] | [INFO] [stdout] 1180 | body: FunctionBodyRef, [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1181 | closure: SharedEnvironment, [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1182 | ) -> FunctionRef { [INFO] [stdout] 1183 | / LoxFunction { [INFO] [stdout] 1184 | | name, [INFO] [stdout] 1185 | | arity: params.len() as u8, [INFO] [stdout] 1186 | | closure, [INFO] [stdout] 1187 | | is_initializer: false, [INFO] [stdout] 1188 | | exec: Executable::Interpreted(body, params), [INFO] [stdout] 1189 | | } [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/interpreter.rs:1201:16 [INFO] [stdout] | [INFO] [stdout] 1193 | fn try_from(object: ObjectRef, expression: &Expression) -> Result { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1201 | match &object.borrow().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/interpreter.rs:1229:9 [INFO] [stdout] | [INFO] [stdout] 1226 | fn bind(&mut self, obj: ObjectRef) -> FunctionRef { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1227 | let env = Environment::extend(self.closure.clone()); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1228 | env.borrow_mut().define("this".to_string(), obj); [INFO] [stdout] 1229 | / LoxFunction { [INFO] [stdout] 1230 | | closure: env, [INFO] [stdout] 1231 | | is_initializer: self.is_initializer, [INFO] [stdout] 1232 | | arity: self.arity, [INFO] [stdout] 1233 | | exec: self.exec.clone(), // TODO: This might be expensive [INFO] [stdout] 1234 | | name: self.name.clone(), [INFO] [stdout] 1235 | | } [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] [stderr] error: could not compile `rlox` (lib test) due to 34 previous errors; 4 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [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/parser.rs:238:12 [INFO] [stdout] | [INFO] [stdout] 223 | let superclass = if self.match_token(TokenType::Less) { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 232 | let mut methods = Vec::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 238 | Ok(Statement::Class { [INFO] [stdout] | ____________^ [INFO] [stdout] 239 | | definition: ClassDefinition { [INFO] [stdout] 240 | | name, [INFO] [stdout] 241 | | methods, [INFO] [stdout] 242 | | superclass, [INFO] [stdout] 243 | | }, [INFO] [stdout] 244 | | }) [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] | [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/parser.rs:286:12 [INFO] [stdout] | [INFO] [stdout] 285 | let body = Rc::new(RefCell::new(self.block()?)); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 286 | Ok(FunctionDefinition { 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] | [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/parser.rs:302:12 [INFO] [stdout] | [INFO] [stdout] 292 | let initializer = if self.match_token(TokenType::Equal) { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 302 | Ok(Statement::Var { name, initializer }) [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] | [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/parser.rs:405:12 [INFO] [stdout] | [INFO] [stdout] 401 | let condition = self.expression()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 402 | self.consume(TokenType::RightParen, "expect ')' after while condition")?; [INFO] [stdout] 403 | let body = Box::new(self.statement()?); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 404 | [INFO] [stdout] 405 | Ok(Statement::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/parser.rs:420:12 [INFO] [stdout] | [INFO] [stdout] 410 | 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] 413 | let then_statement = Box::new(self.statement()?); [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 414 | let else_statement = if self.match_token(TokenType::Else) { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 420 | Ok(Statement::If { [INFO] [stdout] | ____________^ [INFO] [stdout] 421 | | condition, [INFO] [stdout] 422 | | then_statement, [INFO] [stdout] 423 | | else_statement, [INFO] [stdout] 424 | | }) [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] | [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/parser.rs:430:12 [INFO] [stdout] | [INFO] [stdout] 428 | let expression = self.expression()?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 429 | self.consume(TokenType::Semicolon, "expect ';' after value")?; [INFO] [stdout] 430 | Ok(Statement::Print { expression }) [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/parser.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 435 | let value = if self.check(TokenType::Semicolon) { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 444 | Ok(Statement::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/parser.rs:461:12 [INFO] [stdout] | [INFO] [stdout] 459 | let expression = self.expression()?; [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 460 | self.consume(TokenType::Semicolon, "expect ';' after statement")?; [INFO] [stdout] 461 | Ok(Statement::Expression { expression }) [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/parser.rs:621:12 [INFO] [stdout] | [INFO] [stdout] 599 | fn finish_call(&mut self, expr: Expression) -> Result { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 600 | 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] 621 | Ok(Expression::call(expr, paren, arguments)) [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/parser.rs:745:25 [INFO] [stdout] | [INFO] [stdout] 743 | fn grouping(e: Expression) -> Expression { [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 744 | Expression::Grouping { [INFO] [stdout] 745 | expression: Box::new(e), [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] warning: panic message is not a string literal [INFO] [stdout] --> src/parser.rs:816:25 [INFO] [stdout] | [INFO] [stdout] 816 | _ => panic!(format!( [INFO] [stdout] | _________________________^ [INFO] [stdout] 817 | | "Unrecoverable lox error to get expression id for expression {:?}", [INFO] [stdout] 818 | | self [INFO] [stdout] 819 | | )), [INFO] [stdout] | |_____________^ [INFO] [stdout] | [INFO] [stdout] = note: this usage of `panic!()` is deprecated; it will be a hard error in Rust 2021 [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: the `panic!()` macro supports formatting, so there's no need for the `format!()` macro here [INFO] [stdout] help: remove the `format!(..)` macro call [INFO] [stdout] | [INFO] [stdout] 816 ~ _ => panic!( [INFO] [stdout] 817 | "Unrecoverable lox error to get expression id for expression {:?}", [INFO] [stdout] 818 | self [INFO] [stdout] 819 ~ ), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 33 previous errors; 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `rlox` (lib) due to 34 previous errors; 4 warnings emitted [INFO] running `Command { std: "docker" "inspect" "3ff57f579e662d56c7fd96669fdb2420c968040fa8ee28a4251f220d6c08a1e3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3ff57f579e662d56c7fd96669fdb2420c968040fa8ee28a4251f220d6c08a1e3", kill_on_drop: false }` [INFO] [stdout] 3ff57f579e662d56c7fd96669fdb2420c968040fa8ee28a4251f220d6c08a1e3