[INFO] cloning repository https://github.com/Veikkosuhonen/compiler [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Veikkosuhonen/compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVeikkosuhonen%2Fcompiler", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FVeikkosuhonen%2Fcompiler'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] dc01a5748c1939d8602805e1181b9e8e81db8eec [INFO] checking Veikkosuhonen/compiler/dc01a5748c1939d8602805e1181b9e8e81db8eec 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%2FVeikkosuhonen%2Fcompiler" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Veikkosuhonen/compiler 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/Veikkosuhonen/compiler [INFO] finished tweaking git repo https://github.com/Veikkosuhonen/compiler [INFO] tweaked toml for git repo https://github.com/Veikkosuhonen/compiler written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Veikkosuhonen/compiler 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-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 0dffae17ca39f368e06d4384e35586ba10f3b030960e3780b88c08ffa50ffcd6 [INFO] running `Command { std: "docker" "start" "-a" "0dffae17ca39f368e06d4384e35586ba10f3b030960e3780b88c08ffa50ffcd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0dffae17ca39f368e06d4384e35586ba10f3b030960e3780b88c08ffa50ffcd6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0dffae17ca39f368e06d4384e35586ba10f3b030960e3780b88c08ffa50ffcd6", kill_on_drop: false }` [INFO] [stdout] 0dffae17ca39f368e06d4384e35586ba10f3b030960e3780b88c08ffa50ffcd6 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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] 730cacb489e207628985e224ee1c35cda11b7287e6590a058710e2dc430e6c94 [INFO] running `Command { std: "docker" "start" "-a" "730cacb489e207628985e224ee1c35cda11b7287e6590a058710e2dc430e6c94", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Checking strsim v0.11.0 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking anstream v0.6.11 [INFO] [stderr] Checking clap_builder v4.5.0 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Compiling syn v2.0.48 [INFO] [stderr] Checking regex-automata v0.4.3 [INFO] [stderr] Checking regex v1.10.2 [INFO] [stderr] Compiling clap_derive v4.5.0 [INFO] [stderr] Checking clap v4.5.0 [INFO] [stderr] Checking compiler v0.1.0 (/opt/rustwide/workdir) [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/tokenizer.rs:174:44 [INFO] [stdout] | [INFO] [stdout] 174 | regex.find(source).map(|m| (m, TOKEN_REGEX_TO_TYPE[i].1)) [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/parser.rs:358:12 [INFO] [stdout] | [INFO] [stdout] 334 | let mut params = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 356 | let return_type = Box::new(self.parse_type_annotation()?); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 357 | let end = return_type.span.end.clone(); [INFO] [stdout] 358 | Ok(ASTNode::new(Expr::FunctionType { params, return_type }, start, end)) [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:399:12 [INFO] [stdout] | [INFO] [stdout] 381 | fn parse_call_expression(&mut self, callee: ASTNode) -> Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 385 | let mut arguments: Vec> = vec![]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 399 | Ok(ASTNode::new(Expr::Call { [INFO] [stdout] | ____________^ [INFO] [stdout] 400 | | callee: Box::new(callee), [INFO] [stdout] 401 | | arguments, [INFO] [stdout] 402 | | }, start, end)) [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:443:12 [INFO] [stdout] | [INFO] [stdout] 433 | let condition = self.parse_expression()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 438 | let body = self.parse_expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 443 | Ok(ASTNode::new(Expr::While { [INFO] [stdout] | ____________^ [INFO] [stdout] 444 | | condition: Box::new(condition), [INFO] [stdout] 445 | | body: Box::new(body), [INFO] [stdout] 446 | | }, start, end)) [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:489:12 [INFO] [stdout] | [INFO] [stdout] 470 | let mut fields: Vec<(String, Box)> = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 489 | Ok(ASTNode::new(Expr::StructInstance { [INFO] [stdout] | ____________^ [INFO] [stdout] 490 | | struct_name: struct_id, [INFO] [stdout] 491 | | fields, [INFO] [stdout] 492 | | }, start, end)) [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:674:12 [INFO] [stdout] | [INFO] [stdout] 666 | let id = self.parse_identifier()?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 667 | let mut type_annotation = None; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 672 | let init = self.parse_expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 673 | let end = init.span.end.clone(); [INFO] [stdout] 674 | Ok(ASTNode::new(Expr::VariableDeclaration { [INFO] [stdout] | ____________^ [INFO] [stdout] 675 | | id: Box::new(id), [INFO] [stdout] 676 | | type_annotation: type_annotation.map(Box::new), [INFO] [stdout] 677 | | init: Box::new(init), [INFO] [stdout] 678 | | }, start, end)) [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:686:12 [INFO] [stdout] | [INFO] [stdout] 684 | let result = self.parse_expression()?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 685 | let end = result.span.end.clone(); [INFO] [stdout] 686 | Ok(ASTNode::new(Expr::Return { result: Box::new(result) }, start, end)) [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:749:12 [INFO] [stdout] | [INFO] [stdout] 728 | let mut params: Vec = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 742 | let mut return_type = None; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 747 | let body = self.parse_block_expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 748 | [INFO] [stdout] 749 | Ok(UserDefinedFunction { [INFO] [stdout] | ____________^ [INFO] [stdout] 750 | | id, [INFO] [stdout] 751 | | body: Box::new(body), [INFO] [stdout] 752 | | params, [INFO] [stdout] ... | [INFO] [stdout] 757 | | ) [INFO] [stdout] 758 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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:782:12 [INFO] [stdout] | [INFO] [stdout] 765 | let mut fields: Vec = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 782 | Ok(Struct { id, fields }) [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:827:12 [INFO] [stdout] | [INFO] [stdout] 823 | let mut functions: Vec = vec![]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 824 | let mut structs: Vec = vec![]; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 825 | let body = self.parse_block(true, &mut functions, &mut structs)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 826 | [INFO] [stdout] 827 | Ok(( [INFO] [stdout] | ____________^ [INFO] [stdout] 828 | | body, [INFO] [stdout] 829 | | functions, [INFO] [stdout] 830 | | structs, [INFO] [stdout] 831 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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:856:8 [INFO] [stdout] | [INFO] [stdout] 837 | let (ast, mut functions, structs) = parser.parse_top_level_block()?; [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] 856 | Ok(Module { [INFO] [stdout] | ________^ [INFO] [stdout] 857 | | functions, [INFO] [stdout] 858 | | structs, [INFO] [stdout] 859 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____| [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:229:6 [INFO] [stdout] | [INFO] [stdout] 227 | let left = interpret(&left_node, memory).0; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 228 | let right = interpret(&right_node, memory).0; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 229 | (eval_builtin_binary(*operator, left, right), 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:267:6 [INFO] [stdout] | [INFO] [stdout] 238 | let operand = interpret(&operand, memory); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 267 | (eval_builtin_unary(*operator, operand, memory), 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:344:6 [INFO] [stdout] | [INFO] [stdout] 331 | constructor_type: FunctionType, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 332 | args: Vec<(String, Type, Value)>, [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 335 | let mut fields = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 344 | (Value::Unit, addresses.first().cloned()) [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:389:6 [INFO] [stdout] | [INFO] [stdout] 370 | let (parent_value, address) = interpret(parent, memory); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 389 | (memory.get_addr(&member_addr).clone(), Some(member_addr)) [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/ir_generator.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(name: String, var_type: Type) -> IRVar { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | IRVar { name, parent: None, var_type } [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/ir_generator.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 74 | fn create_with_parent(&mut self, name: String, parent: IRVar, var_type: Type) -> IRVar { [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] 75 | IRVar { name, parent: Some(Box::new(parent)), var_type } [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/ir_generator.rs:130:32 [INFO] [stdout] | [INFO] [stdout] 129 | fn copy(src: IRVar, dest: IRVar, span: Span) -> IREntry { [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] 130 | IREntry { instruction: Instr::Copy { source: Box::new(src), dest: Box::new(dest) }, span } [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/ir_generator.rs:255:64 [INFO] [stdout] | [INFO] [stdout] 255 | let dest = dest.unwrap_or_else(|| var_table.create_unnamed(node.node_type.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/sym_table.rs:39:18 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn new<'a>(parent: Option>>) -> Box> { [INFO] [stdout] | ---------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 39 | Box::new(SymTable { [INFO] [stdout] | __________________^ [INFO] [stdout] 40 | | symbols: HashMap::new(), [INFO] [stdout] 41 | | parent, [INFO] [stdout] 42 | | returns: None, [INFO] [stdout] 43 | | expected_returns: T::default(), [INFO] [stdout] 44 | | }) [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/type_checker.rs:78:26 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn unnamed_params(param_types: Vec, return_type: Type) -> FunctionType { [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] 77 | FunctionType { [INFO] [stdout] 78 | param_types: param_types.iter().map(|t| TypedParam { name: "".to_string(), param_type: t.clone() }).collect(), [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/type_checker.rs:78:100 [INFO] [stdout] | [INFO] [stdout] 78 | param_types: param_types.iter().map(|t| TypedParam { name: "".to_string(), param_type: t.clone() }).collect(), [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/type_checker.rs:278:56 [INFO] [stdout] | [INFO] [stdout] 278 | params: params.iter().map(|p| Box::new(typecheck(*p.clone(), sym_table))).collect::>>(), [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/type_checker.rs:344:15 [INFO] [stdout] | [INFO] [stdout] 320 | func: UserDefinedFunction, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 321 | func_type: FunctionType, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 324 | let params = func.params.iter().enumerate().map(|(idx, param)| { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 329 | let body = sym_table.function_scope(¶ms, |inner| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 344 | 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/type_checker.rs:396:15 [INFO] [stdout] | [INFO] [stdout] 383 | left: Box, [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 384 | right: Box, [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 388 | let left = typecheck_assignable(left, sym_table); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 389 | let expected_type = left.node_type.clone(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 390 | let right = Box::new( typecheck(*right, sym_table) ); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 396 | expr: Expr::Assignment { [INFO] [stdout] | _______________^ [INFO] [stdout] 397 | | left: Box::new(left), [INFO] [stdout] 398 | | right [INFO] [stdout] 399 | | }, [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/type_checker.rs:430:15 [INFO] [stdout] | [INFO] [stdout] 406 | condition: Box, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 407 | then_branch: Box, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 408 | 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] 412 | let condition = Box::new(typecheck(*condition, sym_table)); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 416 | let then_branch = Box::new(typecheck(*then_branch, sym_table)); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 417 | let mut node_type = Type::Unit; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 418 | [INFO] [stdout] 419 | let mut else_branch_opt: Option> = None; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 430 | expr: Expr::If { condition, then_branch, else_branch: else_branch_opt }, [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/type_checker.rs:450:15 [INFO] [stdout] | [INFO] [stdout] 437 | condition: Box, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 438 | body: Box, [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 442 | let condition = Box::new(typecheck(*condition, sym_table)); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 446 | let body = Box::new(typecheck(*body, sym_table)); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 450 | expr: Expr::While { condition, 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/type_checker.rs:451:20 [INFO] [stdout] | [INFO] [stdout] 437 | condition: Box, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 438 | body: Box, [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 442 | let condition = Box::new(typecheck(*condition, sym_table)); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 446 | let body = Box::new(typecheck(*body, sym_table)); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 451 | node_type: Type::Unit, [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/type_checker.rs:462:27 [INFO] [stdout] | [INFO] [stdout] 457 | statements: Vec>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 458 | result: Box, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 462 | sym_table.block_scope(|inner_sym_table| { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 463 | | let mut typed_statements: Vec> = vec![]; [INFO] [stdout] 464 | | for expr in statements { [INFO] [stdout] 465 | | typed_statements.push(Box::new(typecheck(*expr, inner_sym_table))); [INFO] [stdout] ... | [INFO] [stdout] 469 | | TypedASTNode { expr: Expr::Block { statements: typed_statements, result }, node_type, span } [INFO] [stdout] 470 | | }) [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/type_checker.rs:469:30 [INFO] [stdout] | [INFO] [stdout] 457 | statements: Vec>, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 458 | result: Box, [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 463 | let mut typed_statements: Vec> = vec![]; [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 467 | let result = Box::new(typecheck(*result, inner_sym_table)); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 468 | let node_type = result.node_type.clone(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 469 | TypedASTNode { expr: Expr::Block { statements: typed_statements, result }, node_type, span } [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/type_checker.rs:604:15 [INFO] [stdout] | [INFO] [stdout] 589 | callee: Box, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 590 | argument_expr: Vec>, [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 594 | let callee = typecheck(*callee, sym_table); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 595 | let call_type = callee.node_type.get_callable_type(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 596 | [INFO] [stdout] 597 | let mut typed_argument_expr: Vec> = vec![]; [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 602 | let node_type = call_type.typecheck_unnamed_args_call(&typed_argument_expr.iter().collect()); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 603 | TypedASTNode { [INFO] [stdout] 604 | expr: Expr::Call { [INFO] [stdout] | _______________^ [INFO] [stdout] 605 | | callee: Box::new(callee), [INFO] [stdout] 606 | | arguments: typed_argument_expr, [INFO] [stdout] 607 | | }, [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/type_checker.rs:631:15 [INFO] [stdout] | [INFO] [stdout] 615 | fields: Vec<(String, Box)>, [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 619 | let struct_type = sym_table.get(&Symbol::Identifier(id.clone())); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 620 | let constructor_type = struct_type.get_callable_type(); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 621 | [INFO] [stdout] 622 | let mut typed_named_argument_expr: Vec<(String, Box)> = vec![]; [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 629 | let node_type = constructor_type.typecheck_named_args_call(&typed_named_argument_expr); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 630 | TypedASTNode { [INFO] [stdout] 631 | expr: Expr::StructInstance { struct_name: id, fields: typed_named_argument_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/builtin_functions.rs:120:66 [INFO] [stdout] | [INFO] [stdout] 120 | BUILTIN_REFERRABLE_TYPES.iter().map(|(sym, t)| (sym.clone(), Type::Typeref(Box::new(t.clone())))).collect() [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/builtin_functions.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / ( [INFO] [stdout] 148 | | Value::Function(crate::interpreter::Function::BuiltIn(sym.to_string())), [INFO] [stdout] 149 | | _type.clone() [INFO] [stdout] 150 | | ) [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/builtin_functions.rs:246:30 [INFO] [stdout] | [INFO] [stdout] 246 | (symbol.to_string(), IRVar::new(symbol.to_string(), var_type.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/builtin_functions.rs:252:30 [INFO] [stdout] | [INFO] [stdout] 252 | (symbol.to_string(), IRVar::new(symbol.to_string(), Type::function(Box::new(var_type.get_callable_type())))) [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/analyzer.rs:49:48 [INFO] [stdout] | [INFO] [stdout] 49 | ... .unwrap_or_else(|| read.parent.clone().map(|p| ins[idx].get(&p.to_short_string()).unwrap_or(&empty)).unwrap_or(&empty)); [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/analyzer.rs:89:44 [INFO] [stdout] | [INFO] [stdout] 89 | .unwrap_or_else(|| r.parent.clone().map(|p| ins[idx].get(&p.to_short_string()).unwrap_or(&empty)).unwrap_or(&empty)) [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/analyzer.rs:134:54 [INFO] [stdout] | [INFO] [stdout] 134 | let mut reads = args.iter().map(|a| *a.clone()).collect::>(); [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/analyzer.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | .map(|var| var.clone().parent.map_or(var.clone(), |v| *v)) [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/analyzer.rs:145:46 [INFO] [stdout] | [INFO] [stdout] 145 | .map(|var| var.clone().parent.map_or(var.clone(), |v| *v)) [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 41 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `compiler` (lib) due to 42 previous errors [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/tokenizer.rs:174:44 [INFO] [stdout] | [INFO] [stdout] 174 | regex.find(source).map(|m| (m, TOKEN_REGEX_TO_TYPE[i].1)) [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/parser.rs:358:12 [INFO] [stdout] | [INFO] [stdout] 334 | let mut params = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 356 | let return_type = Box::new(self.parse_type_annotation()?); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 357 | let end = return_type.span.end.clone(); [INFO] [stdout] 358 | Ok(ASTNode::new(Expr::FunctionType { params, return_type }, start, end)) [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:399:12 [INFO] [stdout] | [INFO] [stdout] 381 | fn parse_call_expression(&mut self, callee: ASTNode) -> Result { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 385 | let mut arguments: Vec> = vec![]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 399 | Ok(ASTNode::new(Expr::Call { [INFO] [stdout] | ____________^ [INFO] [stdout] 400 | | callee: Box::new(callee), [INFO] [stdout] 401 | | arguments, [INFO] [stdout] 402 | | }, start, end)) [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:443:12 [INFO] [stdout] | [INFO] [stdout] 433 | let condition = self.parse_expression()?; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 438 | let body = self.parse_expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 443 | Ok(ASTNode::new(Expr::While { [INFO] [stdout] | ____________^ [INFO] [stdout] 444 | | condition: Box::new(condition), [INFO] [stdout] 445 | | body: Box::new(body), [INFO] [stdout] 446 | | }, start, end)) [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:489:12 [INFO] [stdout] | [INFO] [stdout] 470 | let mut fields: Vec<(String, Box)> = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 489 | Ok(ASTNode::new(Expr::StructInstance { [INFO] [stdout] | ____________^ [INFO] [stdout] 490 | | struct_name: struct_id, [INFO] [stdout] 491 | | fields, [INFO] [stdout] 492 | | }, start, end)) [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:674:12 [INFO] [stdout] | [INFO] [stdout] 666 | let id = self.parse_identifier()?; [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 667 | let mut type_annotation = None; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 672 | let init = self.parse_expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 673 | let end = init.span.end.clone(); [INFO] [stdout] 674 | Ok(ASTNode::new(Expr::VariableDeclaration { [INFO] [stdout] | ____________^ [INFO] [stdout] 675 | | id: Box::new(id), [INFO] [stdout] 676 | | type_annotation: type_annotation.map(Box::new), [INFO] [stdout] 677 | | init: Box::new(init), [INFO] [stdout] 678 | | }, start, end)) [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:686:12 [INFO] [stdout] | [INFO] [stdout] 684 | let result = self.parse_expression()?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 685 | let end = result.span.end.clone(); [INFO] [stdout] 686 | Ok(ASTNode::new(Expr::Return { result: Box::new(result) }, start, end)) [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:749:12 [INFO] [stdout] | [INFO] [stdout] 728 | let mut params: Vec = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 742 | let mut return_type = None; [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 747 | let body = self.parse_block_expression()?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 748 | [INFO] [stdout] 749 | Ok(UserDefinedFunction { [INFO] [stdout] | ____________^ [INFO] [stdout] 750 | | id, [INFO] [stdout] 751 | | body: Box::new(body), [INFO] [stdout] 752 | | params, [INFO] [stdout] ... | [INFO] [stdout] 757 | | ) [INFO] [stdout] 758 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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:782:12 [INFO] [stdout] | [INFO] [stdout] 765 | let mut fields: Vec = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 782 | Ok(Struct { id, fields }) [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:827:12 [INFO] [stdout] | [INFO] [stdout] 823 | let mut functions: Vec = vec![]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 824 | let mut structs: Vec = vec![]; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 825 | let body = self.parse_block(true, &mut functions, &mut structs)?; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 826 | [INFO] [stdout] 827 | Ok(( [INFO] [stdout] | ____________^ [INFO] [stdout] 828 | | body, [INFO] [stdout] 829 | | functions, [INFO] [stdout] 830 | | structs, [INFO] [stdout] 831 | | )) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_________| [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:856:8 [INFO] [stdout] | [INFO] [stdout] 837 | let (ast, mut functions, structs) = parser.parse_top_level_block()?; [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] 856 | Ok(Module { [INFO] [stdout] | ________^ [INFO] [stdout] 857 | | functions, [INFO] [stdout] 858 | | structs, [INFO] [stdout] 859 | | }) [INFO] [stdout] | | ^ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | |_____| [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:874:12 [INFO] [stdout] | [INFO] [stdout] 870 | let node = parse( [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 874 | match &node.main().body.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/interpreter.rs:229:6 [INFO] [stdout] | [INFO] [stdout] 227 | let left = interpret(&left_node, memory).0; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 228 | let right = interpret(&right_node, memory).0; [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 229 | (eval_builtin_binary(*operator, left, right), 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:267:6 [INFO] [stdout] | [INFO] [stdout] 238 | let operand = interpret(&operand, memory); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 267 | (eval_builtin_unary(*operator, operand, memory), 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:344:6 [INFO] [stdout] | [INFO] [stdout] 331 | constructor_type: FunctionType, [INFO] [stdout] | ------------------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 332 | args: Vec<(String, Type, Value)>, [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 335 | let mut fields = vec![]; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 344 | (Value::Unit, addresses.first().cloned()) [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:389:6 [INFO] [stdout] | [INFO] [stdout] 370 | let (parent_value, address) = interpret(parent, memory); [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 389 | (memory.get_addr(&member_addr).clone(), Some(member_addr)) [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/ir_generator.rs:15:31 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn new(name: String, var_type: Type) -> IRVar { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 15 | IRVar { name, parent: None, var_type } [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/ir_generator.rs:75:31 [INFO] [stdout] | [INFO] [stdout] 74 | fn create_with_parent(&mut self, name: String, parent: IRVar, var_type: Type) -> IRVar { [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] 75 | IRVar { name, parent: Some(Box::new(parent)), var_type } [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/ir_generator.rs:130:32 [INFO] [stdout] | [INFO] [stdout] 129 | fn copy(src: IRVar, dest: IRVar, span: Span) -> IREntry { [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] 130 | IREntry { instruction: Instr::Copy { source: Box::new(src), dest: Box::new(dest) }, span } [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/ir_generator.rs:255:64 [INFO] [stdout] | [INFO] [stdout] 255 | let dest = dest.unwrap_or_else(|| var_table.create_unnamed(node.node_type.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/sym_table.rs:39:18 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn new<'a>(parent: Option>>) -> Box> { [INFO] [stdout] | ---------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 39 | Box::new(SymTable { [INFO] [stdout] | __________________^ [INFO] [stdout] 40 | | symbols: HashMap::new(), [INFO] [stdout] 41 | | parent, [INFO] [stdout] 42 | | returns: None, [INFO] [stdout] 43 | | expected_returns: T::default(), [INFO] [stdout] 44 | | }) [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/type_checker.rs:78:26 [INFO] [stdout] | [INFO] [stdout] 76 | pub fn unnamed_params(param_types: Vec, return_type: Type) -> FunctionType { [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] 77 | FunctionType { [INFO] [stdout] 78 | param_types: param_types.iter().map(|t| TypedParam { name: "".to_string(), param_type: t.clone() }).collect(), [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/type_checker.rs:78:100 [INFO] [stdout] | [INFO] [stdout] 78 | param_types: param_types.iter().map(|t| TypedParam { name: "".to_string(), param_type: t.clone() }).collect(), [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/type_checker.rs:278:56 [INFO] [stdout] | [INFO] [stdout] 278 | params: params.iter().map(|p| Box::new(typecheck(*p.clone(), sym_table))).collect::>>(), [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/type_checker.rs:344:15 [INFO] [stdout] | [INFO] [stdout] 320 | func: UserDefinedFunction, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 321 | func_type: FunctionType, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 324 | let params = func.params.iter().enumerate().map(|(idx, param)| { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 329 | let body = sym_table.function_scope(¶ms, |inner| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 344 | 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/type_checker.rs:396:15 [INFO] [stdout] | [INFO] [stdout] 383 | left: Box, [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 384 | right: Box, [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 388 | let left = typecheck_assignable(left, sym_table); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 389 | let expected_type = left.node_type.clone(); [INFO] [stdout] | ------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 390 | let right = Box::new( typecheck(*right, sym_table) ); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 396 | expr: Expr::Assignment { [INFO] [stdout] | _______________^ [INFO] [stdout] 397 | | left: Box::new(left), [INFO] [stdout] 398 | | right [INFO] [stdout] 399 | | }, [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/type_checker.rs:430:15 [INFO] [stdout] | [INFO] [stdout] 406 | condition: Box, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 407 | then_branch: Box, [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 408 | 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] 412 | let condition = Box::new(typecheck(*condition, sym_table)); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 416 | let then_branch = Box::new(typecheck(*then_branch, sym_table)); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 417 | let mut node_type = Type::Unit; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 418 | [INFO] [stdout] 419 | let mut else_branch_opt: Option> = None; [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 430 | expr: Expr::If { condition, then_branch, else_branch: else_branch_opt }, [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/type_checker.rs:450:15 [INFO] [stdout] | [INFO] [stdout] 437 | condition: Box, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 438 | body: Box, [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 442 | let condition = Box::new(typecheck(*condition, sym_table)); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 446 | let body = Box::new(typecheck(*body, sym_table)); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 450 | expr: Expr::While { condition, 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/type_checker.rs:451:20 [INFO] [stdout] | [INFO] [stdout] 437 | condition: Box, [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 438 | body: Box, [INFO] [stdout] | ------------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 442 | let condition = Box::new(typecheck(*condition, sym_table)); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 446 | let body = Box::new(typecheck(*body, sym_table)); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 451 | node_type: Type::Unit, [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/type_checker.rs:462:27 [INFO] [stdout] | [INFO] [stdout] 457 | statements: Vec>, [INFO] [stdout] | ----------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 458 | result: Box, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 462 | sym_table.block_scope(|inner_sym_table| { [INFO] [stdout] | ___________________________^ [INFO] [stdout] 463 | | let mut typed_statements: Vec> = vec![]; [INFO] [stdout] 464 | | for expr in statements { [INFO] [stdout] 465 | | typed_statements.push(Box::new(typecheck(*expr, inner_sym_table))); [INFO] [stdout] ... | [INFO] [stdout] 469 | | TypedASTNode { expr: Expr::Block { statements: typed_statements, result }, node_type, span } [INFO] [stdout] 470 | | }) [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/type_checker.rs:469:30 [INFO] [stdout] | [INFO] [stdout] 457 | statements: Vec>, [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 458 | result: Box, [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 463 | let mut typed_statements: Vec> = vec![]; [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 467 | let result = Box::new(typecheck(*result, inner_sym_table)); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 468 | let node_type = result.node_type.clone(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 469 | TypedASTNode { expr: Expr::Block { statements: typed_statements, result }, node_type, span } [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/type_checker.rs:604:15 [INFO] [stdout] | [INFO] [stdout] 589 | callee: Box, [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 590 | argument_expr: Vec>, [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 594 | let callee = typecheck(*callee, sym_table); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 595 | let call_type = callee.node_type.get_callable_type(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 596 | [INFO] [stdout] 597 | let mut typed_argument_expr: Vec> = vec![]; [INFO] [stdout] | ------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 602 | let node_type = call_type.typecheck_unnamed_args_call(&typed_argument_expr.iter().collect()); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 603 | TypedASTNode { [INFO] [stdout] 604 | expr: Expr::Call { [INFO] [stdout] | _______________^ [INFO] [stdout] 605 | | callee: Box::new(callee), [INFO] [stdout] 606 | | arguments: typed_argument_expr, [INFO] [stdout] 607 | | }, [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/type_checker.rs:631:15 [INFO] [stdout] | [INFO] [stdout] 615 | fields: Vec<(String, Box)>, [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 619 | let struct_type = sym_table.get(&Symbol::Identifier(id.clone())); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 620 | let constructor_type = struct_type.get_callable_type(); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 621 | [INFO] [stdout] 622 | let mut typed_named_argument_expr: Vec<(String, Box)> = vec![]; [INFO] [stdout] | ------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 629 | let node_type = constructor_type.typecheck_named_args_call(&typed_named_argument_expr); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 630 | TypedASTNode { [INFO] [stdout] 631 | expr: Expr::StructInstance { struct_name: id, fields: typed_named_argument_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/type_checker.rs:704:20 [INFO] [stdout] | [INFO] [stdout] 699 | let module = t(" [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 704 | assert_eq!(module.last().node_type, Type::Unit) [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/type_checker.rs:704:45 [INFO] [stdout] | [INFO] [stdout] 699 | let module = t(" [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 704 | assert_eq!(module.last().node_type, Type::Unit) [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/type_checker.rs:716:20 [INFO] [stdout] | [INFO] [stdout] 709 | let module = t(" [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 716 | assert_eq!(module.last().node_type, Type::Int) [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/type_checker.rs:716:45 [INFO] [stdout] | [INFO] [stdout] 709 | let module = t(" [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 716 | assert_eq!(module.last().node_type, Type::Int) [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/type_checker.rs:861:20 [INFO] [stdout] | [INFO] [stdout] 855 | let res = t(" [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 861 | assert_eq!(res.main().body.node_type, Type::Unit) [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/type_checker.rs:861:47 [INFO] [stdout] | [INFO] [stdout] 855 | let res = t(" [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 861 | assert_eq!(res.main().body.node_type, Type::Unit) [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/builtin_functions.rs:120:66 [INFO] [stdout] | [INFO] [stdout] 120 | BUILTIN_REFERRABLE_TYPES.iter().map(|(sym, t)| (sym.clone(), Type::Typeref(Box::new(t.clone())))).collect() [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/builtin_functions.rs:147:9 [INFO] [stdout] | [INFO] [stdout] 147 | / ( [INFO] [stdout] 148 | | Value::Function(crate::interpreter::Function::BuiltIn(sym.to_string())), [INFO] [stdout] 149 | | _type.clone() [INFO] [stdout] 150 | | ) [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/builtin_functions.rs:246:30 [INFO] [stdout] | [INFO] [stdout] 246 | (symbol.to_string(), IRVar::new(symbol.to_string(), var_type.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/builtin_functions.rs:252:30 [INFO] [stdout] | [INFO] [stdout] 252 | (symbol.to_string(), IRVar::new(symbol.to_string(), Type::function(Box::new(var_type.get_callable_type())))) [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/analyzer.rs:49:48 [INFO] [stdout] | [INFO] [stdout] 49 | ... .unwrap_or_else(|| read.parent.clone().map(|p| ins[idx].get(&p.to_short_string()).unwrap_or(&empty)).unwrap_or(&empty)); [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/analyzer.rs:89:44 [INFO] [stdout] | [INFO] [stdout] 89 | .unwrap_or_else(|| r.parent.clone().map(|p| ins[idx].get(&p.to_short_string()).unwrap_or(&empty)).unwrap_or(&empty)) [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/analyzer.rs:134:54 [INFO] [stdout] | [INFO] [stdout] 134 | let mut reads = args.iter().map(|a| *a.clone()).collect::>(); [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/analyzer.rs:145:20 [INFO] [stdout] | [INFO] [stdout] 145 | .map(|var| var.clone().parent.map_or(var.clone(), |v| *v)) [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/analyzer.rs:145:46 [INFO] [stdout] | [INFO] [stdout] 145 | .map(|var| var.clone().parent.map_or(var.clone(), |v| *v)) [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 48 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `compiler` (lib test) due to 49 previous errors [INFO] running `Command { std: "docker" "inspect" "730cacb489e207628985e224ee1c35cda11b7287e6590a058710e2dc430e6c94", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "730cacb489e207628985e224ee1c35cda11b7287e6590a058710e2dc430e6c94", kill_on_drop: false }` [INFO] [stdout] 730cacb489e207628985e224ee1c35cda11b7287e6590a058710e2dc430e6c94