[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 master#a3f76a26e045a760bb1163b7eab36872985242d5 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-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Marwes/haskell-compiler on toolchain a3f76a26e045a760bb1163b7eab36872985242d5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a3f76a26e045a760bb1163b7eab36872985242d5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] removed /workspace/builds/worker-1-tc1/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-tc1/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" "+a3f76a26e045a760bb1163b7eab36872985242d5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "+a3f76a26e045a760bb1163b7eab36872985242d5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cc01488f20b0d263ffc3934aa4cd60f5a0ac3f070ec5e3be236892b313e9b253 [INFO] running `Command { std: "docker" "start" "-a" "cc01488f20b0d263ffc3934aa4cd60f5a0ac3f070ec5e3be236892b313e9b253", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cc01488f20b0d263ffc3934aa4cd60f5a0ac3f070ec5e3be236892b313e9b253", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cc01488f20b0d263ffc3934aa4cd60f5a0ac3f070ec5e3be236892b313e9b253", kill_on_drop: false }` [INFO] [stdout] cc01488f20b0d263ffc3934aa4cd60f5a0ac3f070ec5e3be236892b313e9b253 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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" "-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" "+a3f76a26e045a760bb1163b7eab36872985242d5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 31ab7056f39054a63e1c8b64d8276b63e11969c40742539ffe91d8fe83f1f7ae [INFO] running `Command { std: "docker" "start" "-a" "31ab7056f39054a63e1c8b64d8276b63e11969c40742539ffe91d8fe83f1f7ae", 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] 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] warning: 35 warnings emitted [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] warning: 21 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.66s [INFO] running `Command { std: "docker" "inspect" "31ab7056f39054a63e1c8b64d8276b63e11969c40742539ffe91d8fe83f1f7ae", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31ab7056f39054a63e1c8b64d8276b63e11969c40742539ffe91d8fe83f1f7ae", kill_on_drop: false }` [INFO] [stdout] 31ab7056f39054a63e1c8b64d8276b63e11969c40742539ffe91d8fe83f1f7ae