[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#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FMarwes%2Fhaskell-compiler" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Marwes/haskell-compiler on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-1-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-1-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" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 251788fa39b528336a0b07c2eaaa83fa0f1c2c6cd725974144bfa38819e70e82 [INFO] running `Command { std: "docker" "start" "-a" "251788fa39b528336a0b07c2eaaa83fa0f1c2c6cd725974144bfa38819e70e82", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "251788fa39b528336a0b07c2eaaa83fa0f1c2c6cd725974144bfa38819e70e82", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "251788fa39b528336a0b07c2eaaa83fa0f1c2c6cd725974144bfa38819e70e82", kill_on_drop: false }` [INFO] [stdout] 251788fa39b528336a0b07c2eaaa83fa0f1c2c6cd725974144bfa38819e70e82 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3585f2c425e583ace412d928c5509a64b0c305d39a0b8026a57c54fd71968e24 [INFO] running `Command { std: "docker" "start" "-a" "3585f2c425e583ace412d928c5509a64b0c305d39a0b8026a57c54fd71968e24", kill_on_drop: false }` [INFO] [stderr] Compiling log v0.4.17 [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] error: this value of type `Ref<'_, Node_<'_>>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/vm.rs:311:51 [INFO] [stdout] | [INFO] [stdout] 302 | fn unwind<'a, F>(i_ptr: &mut Wrapping, arity: usize, stack: &mut Vec>, f: F) [INFO] [stdout] | - these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 311 | let temp = match *stack[j].borrow() { [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: this value of type `Option` has 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 local bindings with significant drop implementation may 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] 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] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lambda_lift.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn abstract_module(mut module: Module) -> Module { [INFO] [stdout] | ---------------------------------------------------------------------------- move the `impl` block outside of this function `abstract_module` [INFO] [stdout] 190 | use crate::core::mutable::*; [INFO] [stdout] 191 | impl Visitor for FreeVariables { [INFO] [stdout] | ^^^^^-------^----------^^^^^^------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | `FreeVariables` is not local [INFO] [stdout] | | `TypeAndStr` is not local [INFO] [stdout] | `Visitor` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 35 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `haskell-compiler` (bin "haskell-compiler") due to 3 previous errors; 35 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: this value of type `Ref<'_, Node_<'_>>` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/vm.rs:311:51 [INFO] [stdout] | [INFO] [stdout] 302 | fn unwind<'a, F>(i_ptr: &mut Wrapping, arity: usize, stack: &mut Vec>, f: F) [INFO] [stdout] | - these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 311 | let temp = match *stack[j].borrow() { [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: this value of type `Option` has 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 local bindings with significant drop implementation may 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] 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] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/lambda_lift.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 189 | pub fn abstract_module(mut module: Module) -> Module { [INFO] [stdout] | ---------------------------------------------------------------------------- move the `impl` block outside of this function `abstract_module` [INFO] [stdout] 190 | use crate::core::mutable::*; [INFO] [stdout] 191 | impl Visitor for FreeVariables { [INFO] [stdout] | ^^^^^-------^----------^^^^^^------------- [INFO] [stdout] | | | | [INFO] [stdout] | | | `FreeVariables` is not local [INFO] [stdout] | | `TypeAndStr` is not local [INFO] [stdout] | `Visitor` is not local [INFO] [stdout] | [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 2 previous errors; 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `haskell-compiler` (bin "haskell-compiler" test) due to 3 previous errors; 21 warnings emitted [INFO] running `Command { std: "docker" "inspect" "3585f2c425e583ace412d928c5509a64b0c305d39a0b8026a57c54fd71968e24", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3585f2c425e583ace412d928c5509a64b0c305d39a0b8026a57c54fd71968e24", kill_on_drop: false }` [INFO] [stdout] 3585f2c425e583ace412d928c5509a64b0c305d39a0b8026a57c54fd71968e24