[INFO] cloning repository https://github.com/Marwes/haskell-compiler [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Marwes/haskell-compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarwes%2Fhaskell-compiler", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarwes%2Fhaskell-compiler'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c1dbde0937e65939eae8752605dde52c96a6a6e2 [INFO] checking Marwes/haskell-compiler/c1dbde0937e65939eae8752605dde52c96a6a6e2 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%2FMarwes%2Fhaskell-compiler" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Marwes/haskell-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] removed /workspace/builds/worker-3-tc2/source/.cargo/config [INFO] started tweaking git repo https://github.com/Marwes/haskell-compiler [INFO] finished tweaking git repo https://github.com/Marwes/haskell-compiler [INFO] tweaked toml for git repo https://github.com/Marwes/haskell-compiler written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Marwes/haskell-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-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 692e16063fcb622241de84316540e417e07b8a84586d9435dbef977f87a8a391 [INFO] running `Command { std: "docker" "start" "-a" "692e16063fcb622241de84316540e417e07b8a84586d9435dbef977f87a8a391", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "692e16063fcb622241de84316540e417e07b8a84586d9435dbef977f87a8a391", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "692e16063fcb622241de84316540e417e07b8a84586d9435dbef977f87a8a391", kill_on_drop: false }` [INFO] [stdout] 692e16063fcb622241de84316540e417e07b8a84586d9435dbef977f87a8a391 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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] 27d87e163ece2fdfd84bf08631596e5c18948df3f050d09e89ab6bfebc2b3e00 [INFO] running `Command { std: "docker" "start" "-a" "27d87e163ece2fdfd84bf08631596e5c18948df3f050d09e89ab6bfebc2b3e00", kill_on_drop: false }` [INFO] [stderr] Compiling log v0.4.17 [INFO] [stderr] Checking unicode-width v0.1.10 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking log v0.3.9 [INFO] [stderr] Checking haskell-compiler v0.0.2 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused macro definition: `expect1` [INFO] [stdout] --> src/parser.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | macro_rules! expect1 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `matches` [INFO] [stdout] --> src/parser.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | macro_rules! matches { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Application` and `Variable` [INFO] [stdout] --> src/core.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | pub use crate::types::Type::{Application, Variable}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Constructor` [INFO] [stdout] --> src/core.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | pub use crate::module::{Constructor, DataDefinition, TypeDeclaration, Newtype}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `expect1` [INFO] [stdout] --> src/parser.rs:79:14 [INFO] [stdout] | [INFO] [stdout] 79 | macro_rules! expect1 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_macros)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused macro definition: `matches` [INFO] [stdout] --> src/parser.rs:88:14 [INFO] [stdout] | [INFO] [stdout] 88 | macro_rules! matches { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Application` and `Variable` [INFO] [stdout] --> src/core.rs:3:30 [INFO] [stdout] | [INFO] [stdout] 3 | pub use crate::types::Type::{Application, Variable}; [INFO] [stdout] | ^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Constructor` [INFO] [stdout] --> src/core.rs:4:25 [INFO] [stdout] | [INFO] [stdout] 4 | pub use crate::module::{Constructor, DataDefinition, TypeDeclaration, Newtype}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `tuple_type` is never used [INFO] [stdout] --> src/types.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn tuple_type(n: usize) -> (String, Type) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `char_type` is never used [INFO] [stdout] --> src/types.rs:208:8 [INFO] [stdout] | [INFO] [stdout] 208 | pub fn char_type() -> Type { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `int_type` is never used [INFO] [stdout] --> src/types.rs:213:8 [INFO] [stdout] | [INFO] [stdout] 213 | pub fn int_type() -> Type { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `bool_type` is never used [INFO] [stdout] --> src/types.rs:218:8 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn bool_type() -> Type { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `double_type` is never used [INFO] [stdout] --> src/types.rs:223:8 [INFO] [stdout] | [INFO] [stdout] 223 | pub fn double_type() -> Type { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `function_type` is never used [INFO] [stdout] --> src/types.rs:228:8 [INFO] [stdout] | [INFO] [stdout] 228 | pub fn function_type(arg: &Type, result: &Type) -> Type { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `io` is never used [INFO] [stdout] --> src/types.rs:238:8 [INFO] [stdout] | [INFO] [stdout] 238 | pub fn io(typ: Type) -> Type { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `unit` is never used [INFO] [stdout] --> src/types.rs:243:8 [INFO] [stdout] | [INFO] [stdout] 243 | pub fn unit() -> Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `visit_module` is never used [INFO] [stdout] --> src/module.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 282 | pub trait Visitor : Sized { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 295 | fn visit_module(&mut self, module: &Module) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_module` is never used [INFO] [stdout] --> src/module.rs:300:8 [INFO] [stdout] | [INFO] [stdout] 300 | pub fn walk_module>(visitor: &mut V, module: &Module) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_string` is never used [INFO] [stdout] --> src/compiler.rs:1051:8 [INFO] [stdout] | [INFO] [stdout] 1051 | pub fn compile_string(module: &str) -> Result, ::std::string::String> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_instance` is never used [INFO] [stdout] --> src/typecheck.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub trait Types { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] ... [INFO] [stdout] 21 | fn has_instance(&self, classname: Name, typ: &TcType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `typecheck_module_` and `typecheck_expr_` are never used [INFO] [stdout] --> src/typecheck.rs:434:12 [INFO] [stdout] | [INFO] [stdout] 235 | impl <'a> TypeEnvironment<'a> { [INFO] [stdout] | ----------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn typecheck_module_(&mut self, module: &mut Module) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 437 | pub fn typecheck_expr_(&mut self, expr: &mut TypedExpr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `typecheck_string` is never used [INFO] [stdout] --> src/typecheck.rs:1613:8 [INFO] [stdout] | [INFO] [stdout] 1613 | pub fn typecheck_string(module: &str) -> Result>, ::std::string::String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `valid` is never used [INFO] [stdout] --> src/lexer.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl > Lexer { [INFO] [stdout] | ------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn valid(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_string` is never used [INFO] [stdout] --> src/parser.rs:1136:8 [INFO] [stdout] | [INFO] [stdout] 1136 | pub fn parse_string(contents: &str) -> ParseResult> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `from` is never read [INFO] [stdout] --> src/graph.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Edge { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 24 | from: VertexIndex, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_main_string` is never used [INFO] [stdout] --> src/vm.rs:625:8 [INFO] [stdout] | [INFO] [stdout] 625 | pub fn execute_main_string(module: &str) -> Result, String> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Visitor` is never used [INFO] [stdout] --> src/core.rs:210:15 [INFO] [stdout] | [INFO] [stdout] 210 | pub trait Visitor : Sized { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_module` is never used [INFO] [stdout] --> src/core.rs:227:12 [INFO] [stdout] | [INFO] [stdout] 227 | pub fn walk_module, Ident>(visitor: &mut V, module: &Module) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_binding` is never used [INFO] [stdout] --> src/core.rs:233:12 [INFO] [stdout] | [INFO] [stdout] 233 | pub fn walk_binding, Ident>(visitor: &mut V, binding: &Binding) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_expr` is never used [INFO] [stdout] --> src/core.rs:237:12 [INFO] [stdout] | [INFO] [stdout] 237 | pub fn walk_expr, Ident>(visitor: &mut V, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_alternative` is never used [INFO] [stdout] --> src/core.rs:260:12 [INFO] [stdout] | [INFO] [stdout] 260 | pub fn walk_alternative, Ident>(visitor: &mut V, alt: &Alternative) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `visit_pattern` is never used [INFO] [stdout] --> src/core.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 269 | pub trait Visitor: Sized { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 276 | fn visit_pattern(&mut self, _pattern: &mut Pattern) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Visitor` is never used [INFO] [stdout] --> src/core.rs:330:15 [INFO] [stdout] | [INFO] [stdout] 330 | pub trait Visitor : Sized { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_module` is never used [INFO] [stdout] --> src/core.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 348 | pub fn walk_module, Ident>(visitor: &mut V, mut module: Module) -> Module { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_binding` is never used [INFO] [stdout] --> src/core.rs:357:12 [INFO] [stdout] | [INFO] [stdout] 357 | pub fn walk_binding, Ident>(visitor: &mut V, binding: Binding) -> Binding { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_expr` is never used [INFO] [stdout] --> src/core.rs:365:12 [INFO] [stdout] | [INFO] [stdout] 365 | pub fn walk_expr, Ident>(visitor: &mut V, expr: Expr) -> Expr { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_alternative` is never used [INFO] [stdout] --> src/core.rs:390:12 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn walk_alternative, Ident>(visitor: &mut V, alt: Alternative) -> Alternative { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_and_print_expr` is never used [INFO] [stdout] --> src/repl.rs:65:8 [INFO] [stdout] | [INFO] [stdout] 65 | pub fn run_and_print_expr(expr_str: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/types.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn new_var_args(id: VarId, types : Vec>) -> Type { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | Type::new_type_kind(Type::Variable(TypeVariable { id : id, kind: Kind::Star, age: 0 }), types) [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/types.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn new_var_kind(id : VarId, kind: Kind) -> Type { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 65 | Type::Variable(TypeVariable::new_var_kind(id, kind)) [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/types.rs:69:29 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new_op(name : Id, types : Vec>) -> Type { [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] 69 | Type::new_type_kind(Type::Constructor(TypeConstructor { name : name, kind: Kind::Star }), types) [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/module.rs:128:40 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn new>(expr : Expr) -> TypedExpr { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 128 | TypedExpr { expr : expr, typ : Type::new_var(intern("a")), location : Location { column : -1, row : -1, absolute : -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] [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/module.rs:131:40 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn with_location>(expr : Expr, loc : Location) -> TypedExpr { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | TypedExpr { expr : expr, typ : Type::new_var(intern("a")), location : loc } [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/compiler.rs:416:22 [INFO] [stdout] | [INFO] [stdout] 387 | let mut super_combinators = Vec::new(); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 388 | let mut instance_dictionaries = Vec::new(); [INFO] [stdout] 389 | let mut data_definitions = Vec::new(); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 416 | classes: module.classes.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/compiler.rs:417:24 [INFO] [stdout] | [INFO] [stdout] 387 | let mut super_combinators = Vec::new(); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 388 | let mut instance_dictionaries = Vec::new(); [INFO] [stdout] 389 | let mut data_definitions = Vec::new(); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 417 | instances: module.instances.iter() [INFO] [stdout] | ________________________^ [INFO] [stdout] 418 | | .map(|x| (x.constraints.clone(), Type::new_op(x.classname, vec![x.typ.clone()]))) [INFO] [stdout] 419 | | .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/compiler.rs:418:27 [INFO] [stdout] | [INFO] [stdout] 418 | .map(|x| (x.constraints.clone(), Type::new_op(x.classname, vec![x.typ.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/compiler.rs:418:50 [INFO] [stdout] | [INFO] [stdout] 418 | .map(|x| (x.constraints.clone(), Type::new_op(x.classname, vec![x.typ.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/compiler.rs:1048:8 [INFO] [stdout] | [INFO] [stdout] 1037 | let module = parser.module().map_err(|e| format!("{:?}", e))?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1038 | let mut module = rename_module(module).map_err(|e| format!("{}", e))?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1043 | let core_module = do_lambda_lift(translate_module(module)); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1044 | let mut compiler = Compiler::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1048 | Ok(compiler.compile_module(&core_module)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:260:27 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 260 | local_types : HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:261:26 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 261 | constraints: HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:262:24 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 262 | instances: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:263:22 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 263 | classes: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:264:32 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 264 | data_definitions : Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 266 | errors: Errors::new() [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:390:98 [INFO] [stdout] | [INFO] [stdout] 390 | .filter(|constraint| self.has_instance(constraint.class, &instance.typ, &mut Vec::new()).is_err()) [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/typecheck.rs:430:9 [INFO] [stdout] | [INFO] [stdout] 426 | let mut subs = Substitution { subs: HashMap::new() }; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 427 | let mut typ = self.typecheck(expr, &mut subs); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 430 | self.errors.into_result(()) [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/typecheck.rs:1641:5 [INFO] [stdout] | [INFO] [stdout] 1626 | fn typecheck_modules_common(modules: Vec) -> Result>, ::std::string::String> { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1627 | use crate::infix::PrecedenceVisitor; [INFO] [stdout] 1628 | let mut modules = rename_modules(modules).map_err(|e| format!("{}", e))?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1633 | let result = { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1634 | let mut env = TypeEnvironment::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1641 | result.map(|()| modules) [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/lexer.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn new(input : Stream) -> Lexer { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 179 | input : input.peekable(), [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:110:22 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn new(iterator : Iter) -> Parser { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 110 | Parser { lexer : Lexer::new(iterator) } [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:212:8 [INFO] [stdout] | [INFO] [stdout] 166 | let mut classes = Vec::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | let mut bindings = Vec::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 168 | let mut instances = Vec::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 169 | let mut type_declarations = Vec::new(); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 170 | let mut data_definitions = Vec::new(); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 171 | let mut newtypes = Vec::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 212 | Ok(Module { [INFO] [stdout] | ________^ [INFO] [stdout] 213 | | name : modulename, [INFO] [stdout] 214 | | imports : imports, [INFO] [stdout] 215 | | bindings : bindings, [INFO] [stdout] ... | [INFO] [stdout] 221 | | fixity_declarations : fixity_declarations [INFO] [stdout] 222 | | }) [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:339:8 [INFO] [stdout] | [INFO] [stdout] 338 | let app = self.application()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 339 | match self.binary_expression(app)? { [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:375:8 [INFO] [stdout] | [INFO] [stdout] 360 | let mut expressions = Vec::new(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 374 | let nil = TypedExpr::new(Identifier(intern("[]"))); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 375 | Ok(expressions.into_iter().rev().fold(nil, |application, expr| { [INFO] [stdout] | ________^ [INFO] [stdout] 376 | | let arguments = vec![expr, application]; [INFO] [stdout] 377 | | make_application(TypedExpr::new(Identifier(intern(":"))), arguments.into_iter()) [INFO] [stdout] 378 | | })) [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:377:20 [INFO] [stdout] | [INFO] [stdout] 375 | Ok(expressions.into_iter().rev().fold(nil, |application, expr| { [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] 376 | let arguments = vec![expr, application]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 377 | make_application(TypedExpr::new(Identifier(intern(":"))), arguments.into_iter()) [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:377:61 [INFO] [stdout] | [INFO] [stdout] 375 | Ok(expressions.into_iter().rev().fold(nil, |application, expr| { [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] 376 | let arguments = vec![expr, application]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 377 | make_application(TypedExpr::new(Identifier(intern(":"))), arguments.into_iter()) [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:546:5 [INFO] [stdout] | [INFO] [stdout] 538 | let matches = self.expr_or_guards(GUARD_TOKENS)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 539 | let where_bindings = if self.lexer.peek().token == WHERE { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 546 | Ok(Alternative { pattern : pat, matches: matches, where_bindings: where_bindings }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:617:5 [INFO] [stdout] | [INFO] [stdout] 615 | let typ = self.constructor_type(&mut arity, data_def)?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 616 | self.lexer.backtrack(); [INFO] [stdout] 617 | Ok(Constructor { name : name, typ : qualified(vec![], typ), tag : 0, arity : arity }) [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:651:8 [INFO] [stdout] | [INFO] [stdout] 643 | let matches = self.expr_or_guards(GUARD_TOKENS)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 644 | let where_bindings = if self.lexer.peek().token == WHERE { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 651 | Ok(Binding { [INFO] [stdout] | ________^ [INFO] [stdout] 652 | | name : name.clone(), [INFO] [stdout] 653 | | typ: Default::default(), [INFO] [stdout] 654 | | arguments: arguments, [INFO] [stdout] 655 | | where_bindings : where_bindings, [INFO] [stdout] 656 | | matches : matches, [INFO] [stdout] 657 | | }) [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:719:13 [INFO] [stdout] | [INFO] [stdout] 714 | let p = this.expression_()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 719 | this.expression_().map(move |e| Guard { predicate: p, expression: e }) [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:719:36 [INFO] [stdout] | [INFO] [stdout] 714 | let p = this.expression_()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 719 | this.expression_().map(move |e| Guard { predicate: p, expression: e }) [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:836:5 [INFO] [stdout] | [INFO] [stdout] 835 | let (context, typ) = self.constrained_type()?; [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] 836 | Ok(TypeDeclaration { name : name, typ : Qualified { constraints : context, value: typ } }) [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:873:5 [INFO] [stdout] | [INFO] [stdout] 841 | let mut maybe_constraints = if self.lexer.next().token == LPARENS { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 847 | let t = self.sep_by_1(|this| this.parse_type(), COMMA)?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 858 | let typ = match self.lexer.next().token{ [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 862 | let mut args = Vec::new(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 868 | let mut args = Vec::new(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 873 | Ok((make_constraints(maybe_constraints), typ?)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:934:8 [INFO] [stdout] | [INFO] [stdout] 926 | let typ = self.data_lhs()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 929 | let arg_type = match self.sub_type()? { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 930 | Some(t) => t, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 934 | Ok(Newtype { [INFO] [stdout] | ________^ [INFO] [stdout] 935 | | typ: qualified(Vec::new(), typ.clone()), [INFO] [stdout] 936 | | constructor_name: name, [INFO] [stdout] 937 | | constructor_type: qualified(Vec::new(), function_type_(arg_type, typ)), [INFO] [stdout] 938 | | deriving: self.deriving()? [INFO] [stdout] 939 | | }) [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:1093:5 [INFO] [stdout] | [INFO] [stdout] 1092 | fn make_constraints(types: Vec) -> Vec { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1093 | / types.into_iter().map(|typ| { [INFO] [stdout] 1094 | | match typ { [INFO] [stdout] 1095 | | Type::Application(lhs, rhs) => { [INFO] [stdout] 1096 | | Constraint { class: lhs.ctor().name.clone(), variables: vec![rhs.var().clone()] } [INFO] [stdout] ... | [INFO] [stdout] 1099 | | } [INFO] [stdout] 1100 | | }).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/parser.rs:1124:25 [INFO] [stdout] | [INFO] [stdout] 1122 | fn new_tuple(arguments : Vec) -> TypedExpr { [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1123 | let name = TypedExpr::new(Identifier(intern(tuple_name(arguments.len()).as_ref()))); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1124 | make_application(name, arguments.into_iter()) [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/vm.rs:519:26 [INFO] [stdout] | [INFO] [stdout] 518 | fn primitive(stack: &mut Vec, f: F) where F: FnOnce(isize, isize) -> isize { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 519 | primitive_int(stack, move |l, r| Int(f(l, r))) [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/vm.rs:586:8 [INFO] [stdout] | [INFO] [stdout] 576 | fn compile_iter>(iterator: T) -> Result { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 577 | let mut parser = Parser::new(iterator); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 578 | let module = parser.module().unwrap(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 579 | let mut module = rename_module(module).unwrap(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 580 | [INFO] [stdout] 581 | let mut typer = TypeEnvironment::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 582 | typer.typecheck_module(&mut module).unwrap(); [INFO] [stdout] 583 | let core_module = do_lambda_lift(translate_module(module)); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 584 | [INFO] [stdout] 585 | let mut compiler = Compiler::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 586 | Ok(compiler.compile_module(&core_module)) [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/core.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn from_expr(expr: Expr) -> Module { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 24 | newtypes: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/core.rs:186:31 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn new(name: T, typ: TcType, constraints: Vec>) -> Id { [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] 186 | Id { name: name, typ: module::qualified(constraints, typ) } [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/core.rs:361:25 [INFO] [stdout] | [INFO] [stdout] 357 | pub fn walk_binding, Ident>(visitor: &mut V, binding: Binding) -> Binding { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 358 | let Binding { name, expression } = binding; [INFO] [stdout] | ---- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 361 | expression: visitor.visit_expr(expression) [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/core.rs:392:32 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn walk_alternative, Ident>(visitor: &mut V, alt: Alternative) -> Alternative { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 391 | let Alternative { pattern, expression } = alt; [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] 392 | Alternative { pattern: visitor.visit_pattern(pattern), expression: visitor.visit_expr(expression) } [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/core.rs:392:76 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn walk_alternative, Ident>(visitor: &mut V, alt: Alternative) -> Alternative { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 391 | let Alternative { pattern, expression } = alt; [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] 392 | Alternative { pattern: visitor.visit_pattern(pattern), expression: visitor.visit_expr(expression) } [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/core.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 420 | pub fn translate_modules(modules: Vec>) -> Vec>> { [INFO] [stdout] | ---------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 421 | let mut map = HashMap::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 432 | / modules.into_iter() [INFO] [stdout] 433 | | .map(|module| translate_module_(&mut translator, module)) [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/core.rs:437:9 [INFO] [stdout] | [INFO] [stdout] 436 | pub fn translate_module(module: module::Module) -> Module> { [INFO] [stdout] | ---------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 437 | translate_modules(vec!(module)).pop().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/core.rs:466:27 [INFO] [stdout] | [INFO] [stdout] 453 | let classes2 : Vec> = classes.into_iter().map(|class| { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 454 | let module::Class { [INFO] [stdout] 455 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 456 | name, [INFO] [stdout] 457 | variable, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 458 | declarations, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 459 | bindings [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 466 | bindings: translator.translate_bindings(bindings) [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/core.rs:532:27 [INFO] [stdout] | [INFO] [stdout] 514 | let mut typ = decl.typ.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 524 | let Qualified { value: typ, constraints } = typ; [INFO] [stdout] | --- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 532 | name: Id::new(Name { name: instance_fn_name, uid: decl.name.uid }, typ.clone(), constraints.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/core.rs:533:33 [INFO] [stdout] | [INFO] [stdout] 514 | let mut typ = decl.typ.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 524 | let Qualified { value: typ, constraints } = typ; [INFO] [stdout] | --- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 533 | expression: Identifier(Id::new(Name { name: default_name, uid: decl.name.uid }, typ, constraints)) [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/core.rs:643:20 [INFO] [stdout] | [INFO] [stdout] 636 | fn do_bind2_id(&mut self, m_a: TcType, m_b: TcType) -> Expr> { [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] 637 | debug!("m_a {}", m_a); [INFO] [stdout] 638 | let c = match *m_a.appl() { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 642 | let typ = function_type_(m_a, function_type_(m_b.clone(), m_b)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 643 | Identifier(Id::new(Name { name: intern(">>"), uid: 0}, typ, c)) [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/core.rs:677:25 [INFO] [stdout] | [INFO] [stdout] 650 | fn do_bind_translate(&mut self, pattern: module::Pattern, expr: Expr>, result: Expr>) -> Expr> { [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] 651 | [INFO] [stdout] 652 | let m_a = expr.get_type().clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 653 | let a = m_a.appr().clone(); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 654 | let m_b = result.get_type().clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 655 | debug!("m_a {}", m_a); [INFO] [stdout] 656 | let c = match *m_a.appl() { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 660 | let arg2_type = function_type_(a.clone(), m_b.clone()); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 661 | let bind_typ = function_type_(m_a, function_type_(arg2_type.clone(), m_b.clone())); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 662 | let bind_ident = Identifier(Id::new(Name { name: intern(">>="), uid: 0}, bind_typ, c.clone())); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 665 | let func_ident = Id::new( [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 670 | let var = Id::new(self.name_supply.from_str("p"), function_type_(a, m_b.clone()), c.clone());//Constraints for a [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 671 | let fail_ident = Identifier(Id::new(Name { name: intern("fail"), uid: 0 }, function_type_(list_type(char_type()), m_b), c)); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 672 | let func = Lambda(var.clone(), Box::new(Case(Box::new(Identifier(var)), [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 675 | let bind = Binding { name: func_ident.clone(), expression: func }; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 676 | [INFO] [stdout] 677 | Let(vec![bind], Box::new(apply(bind_ident, (vec![expr, Identifier(func_ident)]).into_iter()))) [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/core.rs:792:83 [INFO] [stdout] | [INFO] [stdout] 792 | let where_bindings_binds = where_bindings.map_or(Vec::new(), |bs| self.translate_bindings(bs).into_iter().collect()); [INFO] [stdout] | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/core.rs:827:14 [INFO] [stdout] | [INFO] [stdout] 819 | let equations: Vec<_> = bindings.into_iter().map(|bind| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 822 | matches, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 823 | where_bindings, [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 826 | let where_bindings_binds = where_bindings.map_or(Vec::new(), |bs| self.translate_bindings(bs)); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 827 | (self.unwrap_patterns(uid, arg_ids.as_ref(), &*arguments), where_bindings_binds, matches) [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/core.rs:1076:15 [INFO] [stdout] | [INFO] [stdout] 1075 | fn make_lambda>(mut iter: I, body: Expr) -> Expr { [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] 1076 | match iter.next() { [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/core.rs:1110:51 [INFO] [stdout] | [INFO] [stdout] 1105 | let other_id = match ps[0].1 { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1110 | Binding { name: other_id, expression: Identifier(arg_id.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/core.rs:1120:15 [INFO] [stdout] | [INFO] [stdout] 1119 | ... let error_ident = Identifier(Id::new(Name { name: intern("error"), uid: 0 }, function_type_(list_type(char_type()), Type::new_var(i... [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1120 | ... Apply(Box::new(error_ident), Box::new(string("Unmatched guard"))) [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/core.rs:1120:38 [INFO] [stdout] | [INFO] [stdout] 1119 | ... let error_ident = Identifier(Id::new(Name { name: intern("error"), uid: 0 }, function_type_(list_type(char_type()), Type::new_var(i... [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1120 | ... Apply(Box::new(error_ident), Box::new(string("Unmatched guard"))) [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/lambda_lift.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn do_lambda_lift(module: Module) -> Module { [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 11 | lift_lambdas(abstract_module(module)) [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/renamer.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 208 | fn rename_bindings(&mut self, bindings: Vec>, is_global: bool) -> Vec> { [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 215 | / bindings.into_iter().map(|binding| { [INFO] [stdout] 216 | | let Binding { name, arguments, matches, typ, where_bindings } = binding; [INFO] [stdout] 217 | | let n = self.uniques.find(&name) [INFO] [stdout] 218 | | .map(|u| u.clone()) [INFO] [stdout] ... | [INFO] [stdout] 229 | | b [INFO] [stdout] 230 | | }).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/renamer.rs:327:42 [INFO] [stdout] | [INFO] [stdout] 326 | .map(|Guard { predicate: p, expression: e }| [INFO] [stdout] | ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 327 | Guard { predicate: self.rename(p), expression: self.rename(e) } [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] 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/renamer.rs:327:70 [INFO] [stdout] | [INFO] [stdout] 326 | .map(|Guard { predicate: p, expression: e }| [INFO] [stdout] | ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 327 | Guard { predicate: self.rename(p), expression: self.rename(e) } [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] 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/renamer.rs:344:33 [INFO] [stdout] | [INFO] [stdout] 337 | fn rename_qualified_type(&mut self, typ: Qualified, InternedStr>) -> Qualified, Name> { [INFO] [stdout] | ---------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 338 | let Qualified { constraints, value: typ } = typ; [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] 339 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 344 | qualified(constraints2, self.rename_type(typ)) [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/renamer.rs:348:80 [INFO] [stdout] | [INFO] [stdout] 348 | .map(|decl| TypeDeclaration { name: self.get_name(decl.name), typ: self.rename_qualified_type(decl.typ) }) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/renamer.rs:381:5 [INFO] [stdout] | [INFO] [stdout] 378 | pub fn rename_expr(expr: TypedExpr) -> Result, RenamerError> { [INFO] [stdout] | ---------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 379 | let mut renamer = Renamer::new(); [INFO] [stdout] 380 | let expr = renamer.rename(expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 381 | renamer.errors.into_result(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/renamer.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 385 | pub fn rename_module(module: Module) -> Result, RenamerError> { [INFO] [stdout] | --------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 386 | let mut renamer = Renamer::new(); [INFO] [stdout] 387 | let m = rename_module_(&mut renamer, &[], module); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 388 | renamer.errors.into_result(m) [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/renamer.rs:447:19 [INFO] [stdout] | [INFO] [stdout] 421 | let data_definitions2 : Vec> = data_definitions.into_iter().map(|data| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 422 | let DataDefinition { [INFO] [stdout] 423 | constructors, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 424 | typ, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 428 | let c: Vec> = constructors.into_iter().map(|ctor| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 447 | typ : renamer.rename_qualified_type(typ), [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/renamer.rs:437:23 [INFO] [stdout] | [INFO] [stdout] 428 | let c: Vec> = constructors.into_iter().map(|ctor| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 431 | typ, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 437 | typ : renamer.rename_qualified_type(typ), [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/renamer.rs:462:31 [INFO] [stdout] | [INFO] [stdout] 454 | let newtypes2: Vec> = newtypes.into_iter().map(|newtype| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 455 | let Newtype { typ, constructor_name, constructor_type, deriving } = newtype; [INFO] [stdout] | --- ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 462 | constructor_type: renamer.rename_qualified_type(constructor_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/renamer.rs:480:24 [INFO] [stdout] | [INFO] [stdout] 467 | let instances2: Vec> = instances.into_iter().map(|instance| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 468 | let Instance { [INFO] [stdout] 469 | bindings, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 470 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 471 | typ, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 474 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 480 | bindings : renamer.rename_bindings(bindings, true), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/renamer.rs:482:19 [INFO] [stdout] | [INFO] [stdout] 467 | let instances2: Vec> = instances.into_iter().map(|instance| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 468 | let Instance { [INFO] [stdout] 469 | bindings, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 470 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 471 | typ, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 474 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 482 | typ : renamer.rename_type(typ), [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/renamer.rs:505:27 [INFO] [stdout] | [INFO] [stdout] 488 | let classes2 : Vec> = classes.into_iter().map(|class| { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 489 | let Class { [INFO] [stdout] 490 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 491 | name, [INFO] [stdout] 492 | variable, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 493 | declarations, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 494 | bindings [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 495 | } = class; [INFO] [stdout] 496 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 505 | declarations: renamer.rename_type_declarations(declarations), [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/renamer.rs:506:23 [INFO] [stdout] | [INFO] [stdout] 488 | let classes2 : Vec> = classes.into_iter().map(|class| { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 489 | let Class { [INFO] [stdout] 490 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 491 | name, [INFO] [stdout] 492 | variable, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 493 | declarations, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 494 | bindings [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 495 | } = class; [INFO] [stdout] 496 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 506 | bindings: renamer.rename_bindings(bindings, true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/renamer.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 544 | pub fn rename_modules(modules: Vec>) -> Result>, RenamerError> { [INFO] [stdout] | --------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 545 | let mut renamer = Renamer::new(); [INFO] [stdout] 546 | let mut ms = Vec::new(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 551 | renamer.errors.into_result(ms) [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/deriving.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 44 | self.make_binop("Eq", "==", data, &mut |this, id_l, id_r| { [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] 45 | let alts = this.match_same_constructors(data, &id_r, &mut |this, l, r| this.eq_fields(l, r)); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 46 | Case(Box::new(Identifier(id_l.clone())), alts) [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/deriving.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 96 | let mut id_r = Id::new(arg_r, data.typ.value.clone(), data.typ.constraints.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 97 | let mut id_l = Id::new(arg_l, data.typ.value.clone(), data.typ.constraints.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | let expr = func(self, id_l.clone(), id_r.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 101 | let lambda_expr = Lambda(id_l, Box::new(Lambda(id_r, Box::new(expr))));//TODO types [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 114 | let constraints = make_constraints(Vec::new(), intern(class), &data.typ.value); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 115 | Binding { [INFO] [stdout] 116 | name: Id::new(Name { name: name, uid: 0 }, lambda_expr.get_type().clone(), constraints), [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/deriving.rs:123:14 [INFO] [stdout] | [INFO] [stdout] 121 | fn eq_or_default(&mut self, cmp: Expr>, def: Expr>) -> Expr> { [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] 122 | let match_id = Id::new(self.name_supply.anonymous(), Type::new_op(name("Ordering"), Vec::new()), Vec::new()); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 123 | Case(Box::new(cmp), vec![ [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/deriving.rs:152:36 [INFO] [stdout] | [INFO] [stdout] 134 | let args_l: Vec> = [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 139 | let args_r: Vec> = iter.by_ref() [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 142 | let ctor_id = Id::new(constructor.name, iter.typ.clone(), constructor.typ.constraints.clone()); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | let expr = f(self, &*args_l, &*args_r); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 144 | let pattern_r = Pattern::Constructor(ctor_id.clone(), args_r); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | let inner = Case(Box::new(Identifier(id_r.clone())), vec![ [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 152 | Alternative { pattern: Pattern::Constructor(ctor_id, args_l), expression: inner } [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/deriving.rs:136:66 [INFO] [stdout] | [INFO] [stdout] 136 | .map(|arg| Id::new(self.name_supply.anonymous(), arg.clone(), constructor.typ.constraints.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/deriving.rs:136:79 [INFO] [stdout] | [INFO] [stdout] 136 | .map(|arg| Id::new(self.name_supply.anonymous(), arg.clone(), constructor.typ.constraints.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/deriving.rs:140:66 [INFO] [stdout] | [INFO] [stdout] 140 | .map(|arg| Id::new(self.name_supply.anonymous(), arg.clone(), constructor.typ.constraints.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/deriving.rs:140:79 [INFO] [stdout] | [INFO] [stdout] 140 | .map(|arg| Id::new(self.name_supply.anonymous(), arg.clone(), constructor.typ.constraints.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/deriving.rs:160:51 [INFO] [stdout] | [INFO] [stdout] 159 | fn id(s: &str, typ: Type) -> Id { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 160 | Id::new(Name {name: intern(s), uid: 0 }, typ, Vec::new()) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/deriving.rs:167:11 [INFO] [stdout] | [INFO] [stdout] 163 | fn compare_tags(lhs: Expr>, rhs: Expr>) -> Expr> { [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] 164 | let var = Type::new_var(intern("a")); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 165 | let typ = function_type_(var.clone(), function_type_(var.clone(), Type::new_op(name("Ordering"), Vec::new()))); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 166 | let id = Id::new(name("#compare_tags"), typ, Vec::new()); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | Apply(Box::new(Apply(Box::new(Identifier(id)), Box::new(lhs))), Box::new(rhs)) [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/deriving.rs:167:69 [INFO] [stdout] | [INFO] [stdout] 163 | fn compare_tags(lhs: Expr>, rhs: Expr>) -> Expr> { [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] 164 | let var = Type::new_var(intern("a")); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 165 | let typ = function_type_(var.clone(), function_type_(var.clone(), Type::new_op(name("Ordering"), Vec::new()))); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 166 | let id = Id::new(name("#compare_tags"), typ, Vec::new()); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | Apply(Box::new(Apply(Box::new(Identifier(id)), Box::new(lhs))), Box::new(rhs)) [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/deriving.rs:171:25 [INFO] [stdout] | [INFO] [stdout] 170 | fn bool_binop(op: &str, lhs: Expr>, rhs: Expr>) -> Expr> { [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] 171 | binop(op, lhs, rhs, bool_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/deriving.rs:176:11 [INFO] [stdout] | [INFO] [stdout] 173 | fn binop(op: &str, lhs: Expr>, rhs: Expr>, return_type: Type) -> Expr> { [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] 174 | let typ = function_type_(lhs.get_type().clone(), function_type_(rhs.get_type().clone(), return_type)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 175 | let f = Identifier(Id::new(name(op), typ, Vec::new())); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 176 | Apply(Box::new(Apply(Box::new(f), Box::new(lhs))), Box::new(rhs)) [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/deriving.rs:176:56 [INFO] [stdout] | [INFO] [stdout] 173 | fn binop(op: &str, lhs: Expr>, rhs: Expr>, return_type: Type) -> Expr> { [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] 174 | let typ = function_type_(lhs.get_type().clone(), function_type_(rhs.get_type().clone(), return_type)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 175 | let f = Identifier(Id::new(name(op), typ, Vec::new())); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 176 | Apply(Box::new(Apply(Box::new(f), Box::new(lhs))), Box::new(rhs)) [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/repl.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 28 | let expr = parser.expression_().unwrap(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 29 | let mut expr = rename_expr(expr).unwrap(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 30 | [INFO] [stdout] 31 | let mut type_env = TypeEnvironment::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 34 | let temp_module = Module::from_expr(translate_expr(expr)); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 35 | let m = do_lambda_lift(temp_module); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 36 | [INFO] [stdout] 37 | let mut compiler = Compiler::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 38 | compiler.assemblies.push(prelude); [INFO] [stdout] 39 | Ok(compiler.compile_module(&m)) [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 87 previous errors; 34 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `haskell-compiler` (bin "haskell-compiler") due to 88 previous errors; 34 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: function `tuple_type` is never used [INFO] [stdout] --> src/types.rs:185:8 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn tuple_type(n: usize) -> (String, Type) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `visit_module` is never used [INFO] [stdout] --> src/module.rs:295:8 [INFO] [stdout] | [INFO] [stdout] 282 | pub trait Visitor : Sized { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 295 | fn visit_module(&mut self, module: &Module) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_module` is never used [INFO] [stdout] --> src/module.rs:300:8 [INFO] [stdout] | [INFO] [stdout] 300 | pub fn walk_module>(visitor: &mut V, module: &Module) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `has_instance` is never used [INFO] [stdout] --> src/typecheck.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 18 | pub trait Types { [INFO] [stdout] | ----- method in this trait [INFO] [stdout] ... [INFO] [stdout] 21 | fn has_instance(&self, classname: Name, typ: &TcType) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `valid` is never used [INFO] [stdout] --> src/lexer.rs:251:12 [INFO] [stdout] | [INFO] [stdout] 173 | impl > Lexer { [INFO] [stdout] | ------------------------------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 251 | pub fn valid(&self) -> bool { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `from` is never read [INFO] [stdout] --> src/graph.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Edge { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 24 | from: VertexIndex, [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `get_assembly` is never used [INFO] [stdout] --> src/vm.rs:179:12 [INFO] [stdout] | [INFO] [stdout] 164 | impl <'a> VM { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 179 | pub fn get_assembly(&self, index: usize) -> &Assembly { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `from_expr` is never used [INFO] [stdout] --> src/core.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 19 | impl Module { [INFO] [stdout] | --------------- associated function in this implementation [INFO] [stdout] 20 | pub fn from_expr(expr: Expr) -> Module { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `visit_pattern` is never used [INFO] [stdout] --> src/core.rs:217:12 [INFO] [stdout] | [INFO] [stdout] 210 | pub trait Visitor : Sized { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 217 | fn visit_pattern(&mut self, _pattern: &Pattern) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `visit_pattern` is never used [INFO] [stdout] --> src/core.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 269 | pub trait Visitor: Sized { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 276 | fn visit_pattern(&mut self, _pattern: &mut Pattern) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Visitor` is never used [INFO] [stdout] --> src/core.rs:330:15 [INFO] [stdout] | [INFO] [stdout] 330 | pub trait Visitor : Sized { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_module` is never used [INFO] [stdout] --> src/core.rs:348:12 [INFO] [stdout] | [INFO] [stdout] 348 | pub fn walk_module, Ident>(visitor: &mut V, mut module: Module) -> Module { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_binding` is never used [INFO] [stdout] --> src/core.rs:357:12 [INFO] [stdout] | [INFO] [stdout] 357 | pub fn walk_binding, Ident>(visitor: &mut V, binding: Binding) -> Binding { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_expr` is never used [INFO] [stdout] --> src/core.rs:365:12 [INFO] [stdout] | [INFO] [stdout] 365 | pub fn walk_expr, Ident>(visitor: &mut V, expr: Expr) -> Expr { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `walk_alternative` is never used [INFO] [stdout] --> src/core.rs:390:12 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn walk_alternative, Ident>(visitor: &mut V, alt: Alternative) -> Alternative { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `translate_expr` is never used [INFO] [stdout] --> src/core.rs:415:12 [INFO] [stdout] | [INFO] [stdout] 415 | pub fn translate_expr(expr: module::TypedExpr) -> Expr> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/types.rs:61:29 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn new_var_args(id: VarId, types : Vec>) -> Type { [INFO] [stdout] | --------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 61 | Type::new_type_kind(Type::Variable(TypeVariable { id : id, kind: Kind::Star, age: 0 }), types) [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/types.rs:65:24 [INFO] [stdout] | [INFO] [stdout] 64 | pub fn new_var_kind(id : VarId, kind: Kind) -> Type { [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 65 | Type::Variable(TypeVariable::new_var_kind(id, kind)) [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/types.rs:69:29 [INFO] [stdout] | [INFO] [stdout] 68 | pub fn new_op(name : Id, types : Vec>) -> Type { [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] 69 | Type::new_type_kind(Type::Constructor(TypeConstructor { name : name, kind: Kind::Star }), types) [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/module.rs:128:40 [INFO] [stdout] | [INFO] [stdout] 127 | pub fn new>(expr : Expr) -> TypedExpr { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 128 | TypedExpr { expr : expr, typ : Type::new_var(intern("a")), location : Location { column : -1, row : -1, absolute : -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] [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/module.rs:131:40 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn with_location>(expr : Expr, loc : Location) -> TypedExpr { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 131 | TypedExpr { expr : expr, typ : Type::new_var(intern("a")), location : loc } [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/compiler.rs:416:22 [INFO] [stdout] | [INFO] [stdout] 387 | let mut super_combinators = Vec::new(); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 388 | let mut instance_dictionaries = Vec::new(); [INFO] [stdout] 389 | let mut data_definitions = Vec::new(); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 416 | classes: module.classes.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/compiler.rs:417:24 [INFO] [stdout] | [INFO] [stdout] 387 | let mut super_combinators = Vec::new(); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 388 | let mut instance_dictionaries = Vec::new(); [INFO] [stdout] 389 | let mut data_definitions = Vec::new(); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 417 | instances: module.instances.iter() [INFO] [stdout] | ________________________^ [INFO] [stdout] 418 | | .map(|x| (x.constraints.clone(), Type::new_op(x.classname, vec![x.typ.clone()]))) [INFO] [stdout] 419 | | .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/compiler.rs:418:27 [INFO] [stdout] | [INFO] [stdout] 418 | .map(|x| (x.constraints.clone(), Type::new_op(x.classname, vec![x.typ.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/compiler.rs:418:50 [INFO] [stdout] | [INFO] [stdout] 418 | .map(|x| (x.constraints.clone(), Type::new_op(x.classname, vec![x.typ.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/compiler.rs:1048:8 [INFO] [stdout] | [INFO] [stdout] 1037 | let module = parser.module().map_err(|e| format!("{:?}", e))?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1038 | let mut module = rename_module(module).map_err(|e| format!("{}", e))?; [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1043 | let core_module = do_lambda_lift(translate_module(module)); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1044 | let mut compiler = Compiler::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1048 | Ok(compiler.compile_module(&core_module)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:260:27 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 260 | local_types : HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:261:26 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 261 | constraints: HashMap::new(), [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:262:24 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 262 | instances: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:263:22 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 263 | classes: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:264:32 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 264 | data_definitions : Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:266:21 [INFO] [stdout] | [INFO] [stdout] 239 | let mut globals = HashMap::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 244 | let var = Type::Generic(TypeVariable::new_var_kind(intern("a"), Kind::Star.clone())); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 249 | let list = typ::list_type(var.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 266 | errors: Errors::new() [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:390:98 [INFO] [stdout] | [INFO] [stdout] 390 | .filter(|constraint| self.has_instance(constraint.class, &instance.typ, &mut Vec::new()).is_err()) [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/typecheck.rs:430:9 [INFO] [stdout] | [INFO] [stdout] 426 | let mut subs = Substitution { subs: HashMap::new() }; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 427 | let mut typ = self.typecheck(expr, &mut subs); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 430 | self.errors.into_result(()) [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/typecheck.rs:1578:20 [INFO] [stdout] | [INFO] [stdout] 1577 | pub fn lambda(arg : &str, body : TypedExpr) -> TypedExpr { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1578 | TypedExpr::new(Lambda(Pattern::Identifier(intern(arg)), 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/typecheck.rs:1590:20 [INFO] [stdout] | [INFO] [stdout] 1589 | pub fn apply(func : TypedExpr, arg : TypedExpr) -> TypedExpr { [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] 1590 | TypedExpr::new(Apply(Box::new(func), Box::new(arg))) [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/typecheck.rs:1594:20 [INFO] [stdout] | [INFO] [stdout] 1593 | pub fn op_apply(lhs: TypedExpr, op: InternedStr, rhs: TypedExpr) -> TypedExpr { [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] 1594 | TypedExpr::new(OpApply(Box::new(lhs), op, Box::new(rhs))) [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/typecheck.rs:1598:20 [INFO] [stdout] | [INFO] [stdout] 1597 | pub fn let_(bindings : Vec, expr : TypedExpr) -> TypedExpr { [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] 1598 | TypedExpr::new(Let(bindings, Box::new(expr))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:1602:20 [INFO] [stdout] | [INFO] [stdout] 1601 | pub fn case(expr : TypedExpr, alts: Vec) -> TypedExpr { [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] 1602 | TypedExpr::new(Case(Box::new(expr), alts)) [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/typecheck.rs:1606:20 [INFO] [stdout] | [INFO] [stdout] 1605 | pub fn if_else(expr: TypedExpr, t: TypedExpr, f: TypedExpr) -> TypedExpr { [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] 1606 | TypedExpr::new(IfElse(Box::new(expr), Box::new(t), Box::new(f))) [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/typecheck.rs:1610:20 [INFO] [stdout] | [INFO] [stdout] 1609 | pub fn paren(expr : TypedExpr) -> TypedExpr { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1610 | TypedExpr::new(Paren(Box::new(expr))) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/typecheck.rs:1641:5 [INFO] [stdout] | [INFO] [stdout] 1626 | fn typecheck_modules_common(modules: Vec) -> Result>, ::std::string::String> { [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1627 | use crate::infix::PrecedenceVisitor; [INFO] [stdout] 1628 | let mut modules = rename_modules(modules).map_err(|e| format!("{}", e))?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1633 | let result = { [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1634 | let mut env = TypeEnvironment::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1641 | result.map(|()| modules) [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/typecheck.rs:1684:29 [INFO] [stdout] | [INFO] [stdout] 1679 | fn un_name(typ: Qualified, Name>) -> Qualified, InternedStr> { [INFO] [stdout] | -------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1680 | let Qualified { constraints, value: typ } = typ; [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] 1681 | let constraints2: Vec = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1684 | qualified(constraints2, un_name_type(typ)) [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/lexer.rs:179:21 [INFO] [stdout] | [INFO] [stdout] 176 | pub fn new(input : Stream) -> Lexer { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 179 | input : input.peekable(), [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:110:22 [INFO] [stdout] | [INFO] [stdout] 109 | pub fn new(iterator : Iter) -> Parser { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 110 | Parser { lexer : Lexer::new(iterator) } [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:212:8 [INFO] [stdout] | [INFO] [stdout] 166 | let mut classes = Vec::new(); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | let mut bindings = Vec::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 168 | let mut instances = Vec::new(); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 169 | let mut type_declarations = Vec::new(); [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 170 | let mut data_definitions = Vec::new(); [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 171 | let mut newtypes = Vec::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 212 | Ok(Module { [INFO] [stdout] | ________^ [INFO] [stdout] 213 | | name : modulename, [INFO] [stdout] 214 | | imports : imports, [INFO] [stdout] 215 | | bindings : bindings, [INFO] [stdout] ... | [INFO] [stdout] 221 | | fixity_declarations : fixity_declarations [INFO] [stdout] 222 | | }) [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:339:8 [INFO] [stdout] | [INFO] [stdout] 338 | let app = self.application()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 339 | match self.binary_expression(app)? { [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:375:8 [INFO] [stdout] | [INFO] [stdout] 360 | let mut expressions = Vec::new(); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 374 | let nil = TypedExpr::new(Identifier(intern("[]"))); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 375 | Ok(expressions.into_iter().rev().fold(nil, |application, expr| { [INFO] [stdout] | ________^ [INFO] [stdout] 376 | | let arguments = vec![expr, application]; [INFO] [stdout] 377 | | make_application(TypedExpr::new(Identifier(intern(":"))), arguments.into_iter()) [INFO] [stdout] 378 | | })) [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:377:20 [INFO] [stdout] | [INFO] [stdout] 375 | Ok(expressions.into_iter().rev().fold(nil, |application, expr| { [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] 376 | let arguments = vec![expr, application]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 377 | make_application(TypedExpr::new(Identifier(intern(":"))), arguments.into_iter()) [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:377:61 [INFO] [stdout] | [INFO] [stdout] 375 | Ok(expressions.into_iter().rev().fold(nil, |application, expr| { [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] 376 | let arguments = vec![expr, application]; [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 377 | make_application(TypedExpr::new(Identifier(intern(":"))), arguments.into_iter()) [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:546:5 [INFO] [stdout] | [INFO] [stdout] 538 | let matches = self.expr_or_guards(GUARD_TOKENS)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 539 | let where_bindings = if self.lexer.peek().token == WHERE { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 546 | Ok(Alternative { pattern : pat, matches: matches, where_bindings: where_bindings }) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:617:5 [INFO] [stdout] | [INFO] [stdout] 615 | let typ = self.constructor_type(&mut arity, data_def)?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 616 | self.lexer.backtrack(); [INFO] [stdout] 617 | Ok(Constructor { name : name, typ : qualified(vec![], typ), tag : 0, arity : arity }) [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:651:8 [INFO] [stdout] | [INFO] [stdout] 643 | let matches = self.expr_or_guards(GUARD_TOKENS)?; [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 644 | let where_bindings = if self.lexer.peek().token == WHERE { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 651 | Ok(Binding { [INFO] [stdout] | ________^ [INFO] [stdout] 652 | | name : name.clone(), [INFO] [stdout] 653 | | typ: Default::default(), [INFO] [stdout] 654 | | arguments: arguments, [INFO] [stdout] 655 | | where_bindings : where_bindings, [INFO] [stdout] 656 | | matches : matches, [INFO] [stdout] 657 | | }) [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:719:13 [INFO] [stdout] | [INFO] [stdout] 714 | let p = this.expression_()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 719 | this.expression_().map(move |e| Guard { predicate: p, expression: e }) [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:719:36 [INFO] [stdout] | [INFO] [stdout] 714 | let p = this.expression_()?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 719 | this.expression_().map(move |e| Guard { predicate: p, expression: e }) [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:836:5 [INFO] [stdout] | [INFO] [stdout] 835 | let (context, typ) = self.constrained_type()?; [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] 836 | Ok(TypeDeclaration { name : name, typ : Qualified { constraints : context, value: typ } }) [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:873:5 [INFO] [stdout] | [INFO] [stdout] 841 | let mut maybe_constraints = if self.lexer.next().token == LPARENS { [INFO] [stdout] | ----------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 847 | let t = self.sep_by_1(|this| this.parse_type(), COMMA)?; [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 858 | let typ = match self.lexer.next().token{ [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 862 | let mut args = Vec::new(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 868 | let mut args = Vec::new(); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 873 | Ok((make_constraints(maybe_constraints), typ?)) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/parser.rs:934:8 [INFO] [stdout] | [INFO] [stdout] 926 | let typ = self.data_lhs()?; [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 929 | let arg_type = match self.sub_type()? { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 930 | Some(t) => t, [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 934 | Ok(Newtype { [INFO] [stdout] | ________^ [INFO] [stdout] 935 | | typ: qualified(Vec::new(), typ.clone()), [INFO] [stdout] 936 | | constructor_name: name, [INFO] [stdout] 937 | | constructor_type: qualified(Vec::new(), function_type_(arg_type, typ)), [INFO] [stdout] 938 | | deriving: self.deriving()? [INFO] [stdout] 939 | | }) [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:1093:5 [INFO] [stdout] | [INFO] [stdout] 1092 | fn make_constraints(types: Vec) -> Vec { [INFO] [stdout] | ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1093 | / types.into_iter().map(|typ| { [INFO] [stdout] 1094 | | match typ { [INFO] [stdout] 1095 | | Type::Application(lhs, rhs) => { [INFO] [stdout] 1096 | | Constraint { class: lhs.ctor().name.clone(), variables: vec![rhs.var().clone()] } [INFO] [stdout] ... | [INFO] [stdout] 1099 | | } [INFO] [stdout] 1100 | | }).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/parser.rs:1124:25 [INFO] [stdout] | [INFO] [stdout] 1122 | fn new_tuple(arguments : Vec) -> TypedExpr { [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1123 | let name = TypedExpr::new(Identifier(intern(tuple_name(arguments.len()).as_ref()))); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1124 | make_application(name, arguments.into_iter()) [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/vm.rs:519:26 [INFO] [stdout] | [INFO] [stdout] 518 | fn primitive(stack: &mut Vec, f: F) where F: FnOnce(isize, isize) -> isize { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 519 | primitive_int(stack, move |l, r| Int(f(l, r))) [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/vm.rs:586:8 [INFO] [stdout] | [INFO] [stdout] 576 | fn compile_iter>(iterator: T) -> Result { [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 577 | let mut parser = Parser::new(iterator); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 578 | let module = parser.module().unwrap(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 579 | let mut module = rename_module(module).unwrap(); [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 580 | [INFO] [stdout] 581 | let mut typer = TypeEnvironment::new(); [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 582 | typer.typecheck_module(&mut module).unwrap(); [INFO] [stdout] 583 | let core_module = do_lambda_lift(translate_module(module)); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 584 | [INFO] [stdout] 585 | let mut compiler = Compiler::new(); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 586 | Ok(compiler.compile_module(&core_module)) [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/core.rs:24:23 [INFO] [stdout] | [INFO] [stdout] 20 | pub fn from_expr(expr: Expr) -> Module { [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 24 | newtypes: Vec::new(), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/core.rs:186:31 [INFO] [stdout] | [INFO] [stdout] 185 | pub fn new(name: T, typ: TcType, constraints: Vec>) -> Id { [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] 186 | Id { name: name, typ: module::qualified(constraints, typ) } [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/core.rs:361:25 [INFO] [stdout] | [INFO] [stdout] 357 | pub fn walk_binding, Ident>(visitor: &mut V, binding: Binding) -> Binding { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 358 | let Binding { name, expression } = binding; [INFO] [stdout] | ---- ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 361 | expression: visitor.visit_expr(expression) [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/core.rs:392:32 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn walk_alternative, Ident>(visitor: &mut V, alt: Alternative) -> Alternative { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 391 | let Alternative { pattern, expression } = alt; [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] 392 | Alternative { pattern: visitor.visit_pattern(pattern), expression: visitor.visit_expr(expression) } [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/core.rs:392:76 [INFO] [stdout] | [INFO] [stdout] 390 | pub fn walk_alternative, Ident>(visitor: &mut V, alt: Alternative) -> Alternative { [INFO] [stdout] | ----------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 391 | let Alternative { pattern, expression } = alt; [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] 392 | Alternative { pattern: visitor.visit_pattern(pattern), expression: visitor.visit_expr(expression) } [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/core.rs:432:9 [INFO] [stdout] | [INFO] [stdout] 420 | pub fn translate_modules(modules: Vec>) -> Vec>> { [INFO] [stdout] | ---------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 421 | let mut map = HashMap::new(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 432 | / modules.into_iter() [INFO] [stdout] 433 | | .map(|module| translate_module_(&mut translator, module)) [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/core.rs:437:9 [INFO] [stdout] | [INFO] [stdout] 436 | pub fn translate_module(module: module::Module) -> Module> { [INFO] [stdout] | ---------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 437 | translate_modules(vec!(module)).pop().unwrap() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/core.rs:466:27 [INFO] [stdout] | [INFO] [stdout] 453 | let classes2 : Vec> = classes.into_iter().map(|class| { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 454 | let module::Class { [INFO] [stdout] 455 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 456 | name, [INFO] [stdout] 457 | variable, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 458 | declarations, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 459 | bindings [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 466 | bindings: translator.translate_bindings(bindings) [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/core.rs:532:27 [INFO] [stdout] | [INFO] [stdout] 514 | let mut typ = decl.typ.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 524 | let Qualified { value: typ, constraints } = typ; [INFO] [stdout] | --- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 532 | name: Id::new(Name { name: instance_fn_name, uid: decl.name.uid }, typ.clone(), constraints.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/core.rs:533:33 [INFO] [stdout] | [INFO] [stdout] 514 | let mut typ = decl.typ.clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 524 | let Qualified { value: typ, constraints } = typ; [INFO] [stdout] | --- ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 533 | expression: Identifier(Id::new(Name { name: default_name, uid: decl.name.uid }, typ, constraints)) [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/core.rs:643:20 [INFO] [stdout] | [INFO] [stdout] 636 | fn do_bind2_id(&mut self, m_a: TcType, m_b: TcType) -> Expr> { [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] 637 | debug!("m_a {}", m_a); [INFO] [stdout] 638 | let c = match *m_a.appl() { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 642 | let typ = function_type_(m_a, function_type_(m_b.clone(), m_b)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 643 | Identifier(Id::new(Name { name: intern(">>"), uid: 0}, typ, c)) [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/core.rs:677:25 [INFO] [stdout] | [INFO] [stdout] 650 | fn do_bind_translate(&mut self, pattern: module::Pattern, expr: Expr>, result: Expr>) -> Expr> { [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] 651 | [INFO] [stdout] 652 | let m_a = expr.get_type().clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 653 | let a = m_a.appr().clone(); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 654 | let m_b = result.get_type().clone(); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 655 | debug!("m_a {}", m_a); [INFO] [stdout] 656 | let c = match *m_a.appl() { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 660 | let arg2_type = function_type_(a.clone(), m_b.clone()); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 661 | let bind_typ = function_type_(m_a, function_type_(arg2_type.clone(), m_b.clone())); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 662 | let bind_ident = Identifier(Id::new(Name { name: intern(">>="), uid: 0}, bind_typ, c.clone())); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 665 | let func_ident = Id::new( [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 670 | let var = Id::new(self.name_supply.from_str("p"), function_type_(a, m_b.clone()), c.clone());//Constraints for a [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 671 | let fail_ident = Identifier(Id::new(Name { name: intern("fail"), uid: 0 }, function_type_(list_type(char_type()), m_b), c)); [INFO] [stdout] | ---------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 672 | let func = Lambda(var.clone(), Box::new(Case(Box::new(Identifier(var)), [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 675 | let bind = Binding { name: func_ident.clone(), expression: func }; [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 676 | [INFO] [stdout] 677 | Let(vec![bind], Box::new(apply(bind_ident, (vec![expr, Identifier(func_ident)]).into_iter()))) [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/core.rs:792:83 [INFO] [stdout] | [INFO] [stdout] 792 | let where_bindings_binds = where_bindings.map_or(Vec::new(), |bs| self.translate_bindings(bs).into_iter().collect()); [INFO] [stdout] | -- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/core.rs:827:14 [INFO] [stdout] | [INFO] [stdout] 819 | let equations: Vec<_> = bindings.into_iter().map(|bind| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 822 | matches, [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 823 | where_bindings, [INFO] [stdout] | -------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 826 | let where_bindings_binds = where_bindings.map_or(Vec::new(), |bs| self.translate_bindings(bs)); [INFO] [stdout] | -------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 827 | (self.unwrap_patterns(uid, arg_ids.as_ref(), &*arguments), where_bindings_binds, matches) [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/core.rs:1076:15 [INFO] [stdout] | [INFO] [stdout] 1075 | fn make_lambda>(mut iter: I, body: Expr) -> Expr { [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] 1076 | match iter.next() { [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/core.rs:1110:51 [INFO] [stdout] | [INFO] [stdout] 1105 | let other_id = match ps[0].1 { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 1110 | Binding { name: other_id, expression: Identifier(arg_id.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/core.rs:1120:15 [INFO] [stdout] | [INFO] [stdout] 1119 | ... let error_ident = Identifier(Id::new(Name { name: intern("error"), uid: 0 }, function_type_(list_type(char_type()), Type::new_var(i... [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1120 | ... Apply(Box::new(error_ident), Box::new(string("Unmatched guard"))) [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/core.rs:1120:38 [INFO] [stdout] | [INFO] [stdout] 1119 | ... let error_ident = Identifier(Id::new(Name { name: intern("error"), uid: 0 }, function_type_(list_type(char_type()), Type::new_var(i... [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 1120 | ... Apply(Box::new(error_ident), Box::new(string("Unmatched guard"))) [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/lambda_lift.rs:11:18 [INFO] [stdout] | [INFO] [stdout] 10 | pub fn do_lambda_lift(module: Module) -> Module { [INFO] [stdout] | -------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 11 | lift_lambdas(abstract_module(module)) [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/renamer.rs:215:9 [INFO] [stdout] | [INFO] [stdout] 208 | fn rename_bindings(&mut self, bindings: Vec>, is_global: bool) -> Vec> { [INFO] [stdout] | ----------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 215 | / bindings.into_iter().map(|binding| { [INFO] [stdout] 216 | | let Binding { name, arguments, matches, typ, where_bindings } = binding; [INFO] [stdout] 217 | | let n = self.uniques.find(&name) [INFO] [stdout] 218 | | .map(|u| u.clone()) [INFO] [stdout] ... | [INFO] [stdout] 229 | | b [INFO] [stdout] 230 | | }).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/renamer.rs:327:42 [INFO] [stdout] | [INFO] [stdout] 326 | .map(|Guard { predicate: p, expression: e }| [INFO] [stdout] | ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 327 | Guard { predicate: self.rename(p), expression: self.rename(e) } [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] 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/renamer.rs:327:70 [INFO] [stdout] | [INFO] [stdout] 326 | .map(|Guard { predicate: p, expression: e }| [INFO] [stdout] | ------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 327 | Guard { predicate: self.rename(p), expression: self.rename(e) } [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] 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/renamer.rs:344:33 [INFO] [stdout] | [INFO] [stdout] 337 | fn rename_qualified_type(&mut self, typ: Qualified, InternedStr>) -> Qualified, Name> { [INFO] [stdout] | ---------------------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 338 | let Qualified { constraints, value: typ } = typ; [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] 339 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 344 | qualified(constraints2, self.rename_type(typ)) [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/renamer.rs:348:80 [INFO] [stdout] | [INFO] [stdout] 348 | .map(|decl| TypeDeclaration { name: self.get_name(decl.name), typ: self.rename_qualified_type(decl.typ) }) [INFO] [stdout] | ---- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/renamer.rs:381:5 [INFO] [stdout] | [INFO] [stdout] 378 | pub fn rename_expr(expr: TypedExpr) -> Result, RenamerError> { [INFO] [stdout] | ---------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 379 | let mut renamer = Renamer::new(); [INFO] [stdout] 380 | let expr = renamer.rename(expr); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 381 | renamer.errors.into_result(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/renamer.rs:388:5 [INFO] [stdout] | [INFO] [stdout] 385 | pub fn rename_module(module: Module) -> Result, RenamerError> { [INFO] [stdout] | --------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 386 | let mut renamer = Renamer::new(); [INFO] [stdout] 387 | let m = rename_module_(&mut renamer, &[], module); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 388 | renamer.errors.into_result(m) [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/renamer.rs:447:19 [INFO] [stdout] | [INFO] [stdout] 421 | let data_definitions2 : Vec> = data_definitions.into_iter().map(|data| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 422 | let DataDefinition { [INFO] [stdout] 423 | constructors, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 424 | typ, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 428 | let c: Vec> = constructors.into_iter().map(|ctor| { [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 447 | typ : renamer.rename_qualified_type(typ), [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/renamer.rs:437:23 [INFO] [stdout] | [INFO] [stdout] 428 | let c: Vec> = constructors.into_iter().map(|ctor| { [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 431 | typ, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 437 | typ : renamer.rename_qualified_type(typ), [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/renamer.rs:462:31 [INFO] [stdout] | [INFO] [stdout] 454 | let newtypes2: Vec> = newtypes.into_iter().map(|newtype| { [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 455 | let Newtype { typ, constructor_name, constructor_type, deriving } = newtype; [INFO] [stdout] | --- ---------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] | | [INFO] [stdout] | these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 462 | constructor_type: renamer.rename_qualified_type(constructor_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/renamer.rs:480:24 [INFO] [stdout] | [INFO] [stdout] 467 | let instances2: Vec> = instances.into_iter().map(|instance| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 468 | let Instance { [INFO] [stdout] 469 | bindings, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 470 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 471 | typ, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 474 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 480 | bindings : renamer.rename_bindings(bindings, true), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/renamer.rs:482:19 [INFO] [stdout] | [INFO] [stdout] 467 | let instances2: Vec> = instances.into_iter().map(|instance| { [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 468 | let Instance { [INFO] [stdout] 469 | bindings, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 470 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 471 | typ, [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 474 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 482 | typ : renamer.rename_type(typ), [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/renamer.rs:505:27 [INFO] [stdout] | [INFO] [stdout] 488 | let classes2 : Vec> = classes.into_iter().map(|class| { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 489 | let Class { [INFO] [stdout] 490 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 491 | name, [INFO] [stdout] 492 | variable, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 493 | declarations, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 494 | bindings [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 495 | } = class; [INFO] [stdout] 496 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 505 | declarations: renamer.rename_type_declarations(declarations), [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/renamer.rs:506:23 [INFO] [stdout] | [INFO] [stdout] 488 | let classes2 : Vec> = classes.into_iter().map(|class| { [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 489 | let Class { [INFO] [stdout] 490 | constraints, [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 491 | name, [INFO] [stdout] 492 | variable, [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 493 | declarations, [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 494 | bindings [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 495 | } = class; [INFO] [stdout] 496 | let constraints2: Vec> = constraints.into_iter() [INFO] [stdout] | ------------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 506 | bindings: renamer.rename_bindings(bindings, true) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/renamer.rs:551:5 [INFO] [stdout] | [INFO] [stdout] 544 | pub fn rename_modules(modules: Vec>) -> Result>, RenamerError> { [INFO] [stdout] | --------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 545 | let mut renamer = Renamer::new(); [INFO] [stdout] 546 | let mut ms = Vec::new(); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 551 | renamer.errors.into_result(ms) [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/renamer.rs:636:9 [INFO] [stdout] | [INFO] [stdout] 635 | pub fn rename_modules(modules: Vec>) -> Vec> { [INFO] [stdout] | --------------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 636 | super::rename_modules(modules) [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/renamer.rs:640:9 [INFO] [stdout] | [INFO] [stdout] 639 | pub fn rename_module(module: Module) -> Module { [INFO] [stdout] | --------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 640 | super::rename_module(module) [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/renamer.rs:644:9 [INFO] [stdout] | [INFO] [stdout] 643 | pub fn rename_expr(expr: TypedExpr) -> TypedExpr { [INFO] [stdout] | ---------------------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 644 | super::rename_expr(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/deriving.rs:46:18 [INFO] [stdout] | [INFO] [stdout] 44 | self.make_binop("Eq", "==", data, &mut |this, id_l, id_r| { [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] 45 | let alts = this.match_same_constructors(data, &id_r, &mut |this, l, r| this.eq_fields(l, r)); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 46 | Case(Box::new(Identifier(id_l.clone())), alts) [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/deriving.rs:116:19 [INFO] [stdout] | [INFO] [stdout] 96 | let mut id_r = Id::new(arg_r, data.typ.value.clone(), data.typ.constraints.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 97 | let mut id_l = Id::new(arg_l, data.typ.value.clone(), data.typ.constraints.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 98 | let expr = func(self, id_l.clone(), id_r.clone()); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 101 | let lambda_expr = Lambda(id_l, Box::new(Lambda(id_r, Box::new(expr))));//TODO types [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 114 | let constraints = make_constraints(Vec::new(), intern(class), &data.typ.value); [INFO] [stdout] | ----------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 115 | Binding { [INFO] [stdout] 116 | name: Id::new(Name { name: name, uid: 0 }, lambda_expr.get_type().clone(), constraints), [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/deriving.rs:123:14 [INFO] [stdout] | [INFO] [stdout] 121 | fn eq_or_default(&mut self, cmp: Expr>, def: Expr>) -> Expr> { [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] 122 | let match_id = Id::new(self.name_supply.anonymous(), Type::new_op(name("Ordering"), Vec::new()), Vec::new()); [INFO] [stdout] | -------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 123 | Case(Box::new(cmp), vec![ [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/deriving.rs:152:36 [INFO] [stdout] | [INFO] [stdout] 134 | let args_l: Vec> = [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 139 | let args_r: Vec> = iter.by_ref() [INFO] [stdout] | ------ these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 142 | let ctor_id = Id::new(constructor.name, iter.typ.clone(), constructor.typ.constraints.clone()); [INFO] [stdout] | ------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 143 | let expr = f(self, &*args_l, &*args_r); [INFO] [stdout] | ---- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 144 | let pattern_r = Pattern::Constructor(ctor_id.clone(), args_r); [INFO] [stdout] | --------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 145 | let inner = Case(Box::new(Identifier(id_r.clone())), vec![ [INFO] [stdout] | ----- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 152 | Alternative { pattern: Pattern::Constructor(ctor_id, args_l), expression: inner } [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/deriving.rs:136:66 [INFO] [stdout] | [INFO] [stdout] 136 | .map(|arg| Id::new(self.name_supply.anonymous(), arg.clone(), constructor.typ.constraints.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/deriving.rs:136:79 [INFO] [stdout] | [INFO] [stdout] 136 | .map(|arg| Id::new(self.name_supply.anonymous(), arg.clone(), constructor.typ.constraints.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/deriving.rs:140:66 [INFO] [stdout] | [INFO] [stdout] 140 | .map(|arg| Id::new(self.name_supply.anonymous(), arg.clone(), constructor.typ.constraints.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/deriving.rs:140:79 [INFO] [stdout] | [INFO] [stdout] 140 | .map(|arg| Id::new(self.name_supply.anonymous(), arg.clone(), constructor.typ.constraints.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/deriving.rs:160:51 [INFO] [stdout] | [INFO] [stdout] 159 | fn id(s: &str, typ: Type) -> Id { [INFO] [stdout] | --------------- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 160 | Id::new(Name {name: intern(s), uid: 0 }, typ, Vec::new()) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: these values and local bindings have significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/deriving.rs:167:11 [INFO] [stdout] | [INFO] [stdout] 163 | fn compare_tags(lhs: Expr>, rhs: Expr>) -> Expr> { [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] 164 | let var = Type::new_var(intern("a")); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 165 | let typ = function_type_(var.clone(), function_type_(var.clone(), Type::new_op(name("Ordering"), Vec::new()))); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 166 | let id = Id::new(name("#compare_tags"), typ, Vec::new()); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | Apply(Box::new(Apply(Box::new(Identifier(id)), Box::new(lhs))), Box::new(rhs)) [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/deriving.rs:167:69 [INFO] [stdout] | [INFO] [stdout] 163 | fn compare_tags(lhs: Expr>, rhs: Expr>) -> Expr> { [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] 164 | let var = Type::new_var(intern("a")); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 165 | let typ = function_type_(var.clone(), function_type_(var.clone(), Type::new_op(name("Ordering"), Vec::new()))); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 166 | let id = Id::new(name("#compare_tags"), typ, Vec::new()); [INFO] [stdout] | -- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 167 | Apply(Box::new(Apply(Box::new(Identifier(id)), Box::new(lhs))), Box::new(rhs)) [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/deriving.rs:171:25 [INFO] [stdout] | [INFO] [stdout] 170 | fn bool_binop(op: &str, lhs: Expr>, rhs: Expr>) -> Expr> { [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] 171 | binop(op, lhs, rhs, bool_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/deriving.rs:176:11 [INFO] [stdout] | [INFO] [stdout] 173 | fn binop(op: &str, lhs: Expr>, rhs: Expr>, return_type: Type) -> Expr> { [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] 174 | let typ = function_type_(lhs.get_type().clone(), function_type_(rhs.get_type().clone(), return_type)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 175 | let f = Identifier(Id::new(name(op), typ, Vec::new())); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 176 | Apply(Box::new(Apply(Box::new(f), Box::new(lhs))), Box::new(rhs)) [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/deriving.rs:176:56 [INFO] [stdout] | [INFO] [stdout] 173 | fn binop(op: &str, lhs: Expr>, rhs: Expr>, return_type: Type) -> Expr> { [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] 174 | let typ = function_type_(lhs.get_type().clone(), function_type_(rhs.get_type().clone(), return_type)); [INFO] [stdout] | --- these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 175 | let f = Identifier(Id::new(name(op), typ, Vec::new())); [INFO] [stdout] | - these values have significant drop implementation and will observe changes in drop order under Edition 2024 [INFO] [stdout] 176 | Apply(Box::new(Apply(Box::new(f), Box::new(lhs))), Box::new(rhs)) [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 97 previous errors; 20 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `haskell-compiler` (bin "haskell-compiler" test) due to 98 previous errors; 20 warnings emitted [INFO] running `Command { std: "docker" "inspect" "27d87e163ece2fdfd84bf08631596e5c18948df3f050d09e89ab6bfebc2b3e00", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27d87e163ece2fdfd84bf08631596e5c18948df3f050d09e89ab6bfebc2b3e00", kill_on_drop: false }` [INFO] [stdout] 27d87e163ece2fdfd84bf08631596e5c18948df3f050d09e89ab6bfebc2b3e00