[INFO] cloning repository https://github.com/NicholasLYang/saber [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NicholasLYang/saber" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNicholasLYang%2Fsaber"` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNicholasLYang%2Fsaber'... [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 8e7757c42f3382b1f3edf76d095312daee54419c [INFO] checking NicholasLYang/saber against try#ea663bba38739867a4b75ac820991b4f5d093c3b for pr-62262-1 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNicholasLYang%2Fsaber" "/workspace/builds/worker-5/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/NicholasLYang/saber on toolchain ea663bba38739867a4b75ac820991b4f5d093c3b [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/NicholasLYang/saber [INFO] finished tweaking git repo https://github.com/NicholasLYang/saber [INFO] tweaked toml for git repo https://github.com/NicholasLYang/saber written to /workspace/builds/worker-5/source/Cargo.toml [INFO] crate git repo https://github.com/NicholasLYang/saber already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+ea663bba38739867a4b75ac820991b4f5d093c3b" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] ffc79486ab63b404e8c57e63eaaf938c8b06bbfbb8f710056ed7f97a43b839cb [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `"docker" "start" "-a" "ffc79486ab63b404e8c57e63eaaf938c8b06bbfbb8f710056ed7f97a43b839cb"` [INFO] [stderr] Compiling proc-macro2 v0.4.13 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Compiling quote v0.6.8 [INFO] [stderr] Compiling syn v0.15.15 [INFO] [stderr] Compiling synstructure v0.10.1 [INFO] [stderr] Compiling strum_macros v0.13.0 [INFO] [stderr] Compiling failure_derive v0.1.5 [INFO] [stderr] Checking failure v0.1.5 [INFO] [stderr] Checking saber v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `itertools::Itertools` [INFO] [stderr] --> src/typechecker.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use itertools::Itertools; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Type`, `TypedExpr` [INFO] [stderr] --> src/wasm.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::{Type, TypedExpr}; [INFO] [stderr] | ^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::types::Result` [INFO] [stderr] --> src/wasm.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::types::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::TryInto` [INFO] [stderr] --> src/wasm.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::convert::TryInto; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/wasm.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `itertools::Itertools` [INFO] [stderr] --> src/typechecker.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use itertools::Itertools; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Type`, `TypedExpr` [INFO] [stderr] --> src/wasm.rs:1:18 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::{Type, TypedExpr}; [INFO] [stderr] | ^^^^ ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::types::Result` [INFO] [stderr] --> src/wasm.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::types::Result; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::convert::TryInto` [INFO] [stderr] --> src/wasm.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::convert::TryInto; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::sync::Arc` [INFO] [stderr] --> src/wasm.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::sync::Arc; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/typechecker.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | _ => Err(TypeError::NotImplemented), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Name` [INFO] [stderr] --> src/ast.rs:159:27 [INFO] [stderr] | [INFO] [stderr] 159 | Type::Var(Name) => "unknown".into(), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_Name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/ast.rs:179:22 [INFO] [stderr] | [INFO] [stderr] 179 | for (name, type_) in elems { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/code_generator.rs:47:21 [INFO] [stderr] | [INFO] [stderr] 47 | params, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `params: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_` [INFO] [stderr] --> src/code_generator.rs:154:41 [INFO] [stderr] | [INFO] [stderr] 154 | TypedExpr::Primary { value, type_ } => Ok(vec![self.generate_primary(value)?]), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `type_: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/emitter.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let bytecode = match op_code { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_bytecode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/parser.rs:336:19 [INFO] [stderr] | [INFO] [stderr] 336 | Some((start, Token::LParen, end)) => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end` [INFO] [stderr] --> src/parser.rs:336:41 [INFO] [stderr] | [INFO] [stderr] 336 | Some((start, Token::LParen, end)) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_end` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/parser.rs:348:19 [INFO] [stderr] | [INFO] [stderr] 348 | Some((start, Token::Ident(name), end)) => Ok(Expr::Var { name }), [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end` [INFO] [stderr] --> src/parser.rs:348:46 [INFO] [stderr] | [INFO] [stderr] 348 | Some((start, Token::Ident(name), end)) => Ok(Expr::Var { name }), [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_end` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/typechecker.rs:168:21 [INFO] [stderr] | [INFO] [stderr] 168 | Pat::Id(name, Some(type_sig)) => self.lookup_type_sig(&type_sig), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params_type` [INFO] [stderr] --> src/typechecker.rs:254:21 [INFO] [stderr] | [INFO] [stderr] 254 | let params_type = self.retrieve_params(¶ms); [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_params_type` [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/typechecker.rs:117:13 [INFO] [stderr] | [INFO] [stderr] 117 | _ => Err(TypeError::NotImplemented), [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `Name` [INFO] [stderr] --> src/ast.rs:159:27 [INFO] [stderr] | [INFO] [stderr] 159 | Type::Var(Name) => "unknown".into(), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_Name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/ast.rs:179:22 [INFO] [stderr] | [INFO] [stderr] 179 | for (name, type_) in elems { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params` [INFO] [stderr] --> src/code_generator.rs:47:21 [INFO] [stderr] | [INFO] [stderr] 47 | params, [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `params: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_` [INFO] [stderr] --> src/code_generator.rs:154:41 [INFO] [stderr] | [INFO] [stderr] 154 | TypedExpr::Primary { value, type_ } => Ok(vec![self.generate_primary(value)?]), [INFO] [stderr] | ^^^^^ help: try ignoring the field: `type_: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `bytecode` [INFO] [stderr] --> src/emitter.rs:34:9 [INFO] [stderr] | [INFO] [stderr] 34 | let bytecode = match op_code { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_bytecode` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/parser.rs:336:19 [INFO] [stderr] | [INFO] [stderr] 336 | Some((start, Token::LParen, end)) => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end` [INFO] [stderr] --> src/parser.rs:336:41 [INFO] [stderr] | [INFO] [stderr] 336 | Some((start, Token::LParen, end)) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_end` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `start` [INFO] [stderr] --> src/parser.rs:348:19 [INFO] [stderr] | [INFO] [stderr] 348 | Some((start, Token::Ident(name), end)) => Ok(Expr::Var { name }), [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_start` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `end` [INFO] [stderr] --> src/parser.rs:348:46 [INFO] [stderr] | [INFO] [stderr] 348 | Some((start, Token::Ident(name), end)) => Ok(Expr::Var { name }), [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_end` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/typechecker.rs:168:21 [INFO] [stderr] | [INFO] [stderr] 168 | Pat::Id(name, Some(type_sig)) => self.lookup_type_sig(&type_sig), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `params_type` [INFO] [stderr] --> src/typechecker.rs:254:21 [INFO] [stderr] | [INFO] [stderr] 254 | let params_type = self.retrieve_params(¶ms); [INFO] [stderr] | ^^^^^^^^^^^ help: consider prefixing with an underscore: `_params_type` [INFO] [stderr] [INFO] [stderr] warning: private type `parser::Location` in public interface (error E0446) [INFO] [stderr] --> src/parser.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | location: Location, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Asgn` [INFO] [stderr] --> src/ast.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Asgn(Pat, Expr), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expr` [INFO] [stderr] --> src/ast.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Expr(Expr), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Return` [INFO] [stderr] --> src/ast.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Return(Expr), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Block` [INFO] [stderr] --> src/ast.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Block(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `If` [INFO] [stderr] --> src/ast.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | If(Expr, Box, Option>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expr` [INFO] [stderr] --> src/ast.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Expr(TypedExpr), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Block` [INFO] [stderr] --> src/ast.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Block(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `If` [INFO] [stderr] --> src/ast.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | If(TypedExpr, Box, Option>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Primary` [INFO] [stderr] --> src/ast.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / Primary { [INFO] [stderr] 26 | | value: Value, [INFO] [stderr] 27 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Var` [INFO] [stderr] --> src/ast.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / Var { [INFO] [stderr] 29 | | name: Name, [INFO] [stderr] 30 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BinOp` [INFO] [stderr] --> src/ast.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / BinOp { [INFO] [stderr] 32 | | op: Op, [INFO] [stderr] 33 | | lhs: Box, [INFO] [stderr] 34 | | rhs: Box, [INFO] [stderr] 35 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnaryOp` [INFO] [stderr] --> src/ast.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | / UnaryOp { [INFO] [stderr] 37 | | op: Op, [INFO] [stderr] 38 | | rhs: Box, [INFO] [stderr] 39 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Function` [INFO] [stderr] --> src/ast.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / Function { [INFO] [stderr] 41 | | params: Pat, [INFO] [stderr] 42 | | return_type: Option, [INFO] [stderr] 43 | | body: Box, [INFO] [stderr] 44 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/ast.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | / Call { [INFO] [stderr] 46 | | callee: Box, [INFO] [stderr] 47 | | arg: Box, [INFO] [stderr] 48 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tuple` [INFO] [stderr] --> src/ast.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | Tuple(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Var` [INFO] [stderr] --> src/ast.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | / Var { [INFO] [stderr] 59 | | name: Name, [INFO] [stderr] 60 | | type_: Arc, [INFO] [stderr] 61 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnaryOp` [INFO] [stderr] --> src/ast.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | / UnaryOp { [INFO] [stderr] 69 | | op: Op, [INFO] [stderr] 70 | | rhs: Box, [INFO] [stderr] 71 | | type_: Arc, [INFO] [stderr] 72 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/ast.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / Call { [INFO] [stderr] 79 | | callee: Box, [INFO] [stderr] 80 | | arg: Box, [INFO] [stderr] 81 | | type_: Arc, [INFO] [stderr] 82 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tuple` [INFO] [stderr] --> src/ast.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | Tuple(Vec, Arc), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/ast.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | Float(f32), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Bool` [INFO] [stderr] --> src/ast.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | Bool(bool), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `String` [INFO] [stderr] --> src/ast.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | String(String), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Comma` [INFO] [stderr] --> src/ast.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | Comma, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Plus` [INFO] [stderr] --> src/ast.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | Plus, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Times` [INFO] [stderr] --> src/ast.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | Times, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Div` [INFO] [stderr] --> src/ast.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | Div, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BangEqual` [INFO] [stderr] --> src/ast.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | BangEqual, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EqualEqual` [INFO] [stderr] --> src/ast.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | EqualEqual, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Greater` [INFO] [stderr] --> src/ast.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | Greater, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GreaterEqual` [INFO] [stderr] --> src/ast.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | GreaterEqual, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Less` [INFO] [stderr] --> src/ast.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | Less, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LessEqual` [INFO] [stderr] --> src/ast.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | LessEqual, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/ast.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | Float, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `String` [INFO] [stderr] --> src/ast.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Var` [INFO] [stderr] --> src/ast.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 140 | Var(Name), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Array` [INFO] [stderr] --> src/ast.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | Array(Arc), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Record` [INFO] [stderr] --> src/ast.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | Record(Vec<(Name, Arc)>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tuple` [INFO] [stderr] --> src/ast.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | Tuple(Vec>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_total_count` [INFO] [stderr] --> src/ast.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | pub fn get_total_count(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Array` [INFO] [stderr] --> src/ast.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | Array(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Name` [INFO] [stderr] --> src/ast.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | Name(Name), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Record` [INFO] [stderr] --> src/ast.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | Record(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tuple` [INFO] [stderr] --> src/ast.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | Tuple(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Empty` [INFO] [stderr] --> src/ast.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | Empty, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_type` [INFO] [stderr] --> src/ast.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | pub fn get_type(&self) -> Arc { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidFunctionType` [INFO] [stderr] --> src/emitter.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | InvalidFunctionType { type_: Type }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotImplemented` [INFO] [stderr] --> src/emitter.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | NotImplemented, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Illegal` [INFO] [stderr] --> src/lexer.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | Illegal, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EndOfFile` [INFO] [stderr] --> src/lexer.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | EndOfFile, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/lexer.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn new(source: &'input str) -> Lexer<'input> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Parser` [INFO] [stderr] --> src/parser.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Parser<'input> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EndOfFile` [INFO] [stderr] --> src/parser.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / EndOfFile { [INFO] [stderr] 28 | | expected_tokens: Vec, [INFO] [stderr] 29 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnexpectedToken` [INFO] [stderr] --> src/parser.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / UnexpectedToken { [INFO] [stderr] 35 | | token: Token, [INFO] [stderr] 36 | | expected_tokens: Vec, [INFO] [stderr] 37 | | location: Location, [INFO] [stderr] 38 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotImplemented` [INFO] [stderr] --> src/parser.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | NotImplemented, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotReachable` [INFO] [stderr] --> src/parser.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | NotReachable, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/parser.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn new(lexer: Lexer) -> Parser { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expect` [INFO] [stderr] --> src/parser.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | fn expect(&mut self, expected: TokenDiscriminants) -> Result<(usize, Token, usize)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pushback` [INFO] [stderr] --> src/parser.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | fn pushback(&mut self, token: (usize, Token, usize)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `lookahead_match` [INFO] [stderr] --> src/parser.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | fn lookahead_match(&mut self, lookahead: TokenDiscriminants) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `match_multiple` [INFO] [stderr] --> src/parser.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | fn match_multiple(&mut self, tokens: Vec) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bump` [INFO] [stderr] --> src/parser.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | fn bump(&mut self) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/parser.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | fn peek(&mut self) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `lookup_op_token` [INFO] [stderr] --> src/parser.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | fn lookup_op_token(&mut self, token: Token) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_block` [INFO] [stderr] --> src/parser.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | fn parse_block(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_statement` [INFO] [stderr] --> src/parser.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn parse_statement(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_return_statement` [INFO] [stderr] --> src/parser.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | fn parse_return_statement(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_let_statement` [INFO] [stderr] --> src/parser.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | fn parse_let_statement(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_expression_statement` [INFO] [stderr] --> src/parser.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | fn parse_expression_statement(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_expression` [INFO] [stderr] --> src/parser.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | fn parse_expression(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_function` [INFO] [stderr] --> src/parser.rs:202:5 [INFO] [stderr] | [INFO] [stderr] 202 | fn parse_function(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_equality` [INFO] [stderr] --> src/parser.rs:241:5 [INFO] [stderr] | [INFO] [stderr] 241 | fn parse_equality(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_comparison` [INFO] [stderr] --> src/parser.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | fn parse_comparison(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_addition` [INFO] [stderr] --> src/parser.rs:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | fn parse_addition(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_multiplication` [INFO] [stderr] --> src/parser.rs:291:5 [INFO] [stderr] | [INFO] [stderr] 291 | fn parse_multiplication(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_unary` [INFO] [stderr] --> src/parser.rs:305:5 [INFO] [stderr] | [INFO] [stderr] 305 | fn parse_unary(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_primary` [INFO] [stderr] --> src/parser.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | fn parse_primary(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_pattern` [INFO] [stderr] --> src/parser.rs:374:5 [INFO] [stderr] | [INFO] [stderr] 374 | fn parse_pattern(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_record_pattern` [INFO] [stderr] --> src/parser.rs:420:5 [INFO] [stderr] | [INFO] [stderr] 420 | fn parse_record_pattern(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_type_sig` [INFO] [stderr] --> src/parser.rs:438:5 [INFO] [stderr] | [INFO] [stderr] 438 | fn parse_type_sig(&mut self) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_type` [INFO] [stderr] --> src/parser.rs:446:5 [INFO] [stderr] | [INFO] [stderr] 446 | fn parse_type(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `comma` [INFO] [stderr] --> src/parser.rs:466:5 [INFO] [stderr] | [INFO] [stderr] 466 | / fn comma( [INFO] [stderr] 467 | | &mut self, [INFO] [stderr] 468 | | parse_fn: &dyn Fn(&mut Self) -> Result, [INFO] [stderr] 469 | | end_token: Token, [INFO] [stderr] ... | [INFO] [stderr] 478 | | } [INFO] [stderr] 479 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InferFailure` [INFO] [stderr] --> src/typechecker.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | InferFailure { name: Name }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotImplemented` [INFO] [stderr] --> src/typechecker.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | NotImplemented, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OpFailure` [INFO] [stderr] --> src/typechecker.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | / OpFailure { [INFO] [stderr] 18 | | op: Op, [INFO] [stderr] 19 | | lhs_type: Arc, [INFO] [stderr] 20 | | rhs_type: Arc, [INFO] [stderr] 21 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnificationFailure` [INFO] [stderr] --> src/typechecker.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | UnificationFailure { type1: Arc, type2: Arc }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TypeDoesNotExist` [INFO] [stderr] --> src/typechecker.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | TypeDoesNotExist { type_name: Name }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ArityMismatch` [INFO] [stderr] --> src/typechecker.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | ArityMismatch { arity1: usize, arity2: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RecordContainsNonIds` [INFO] [stderr] --> src/typechecker.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | RecordContainsNonIds { record: Pat }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TypeChecker` [INFO] [stderr] --> src/typechecker.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | pub struct TypeChecker { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/typechecker.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn new() -> TypeChecker { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_stmt` [INFO] [stderr] --> src/typechecker.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn infer_stmt(&mut self, stmt: Stmt) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_value` [INFO] [stderr] --> src/typechecker.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | fn infer_value(&self, value: Value) -> TypedExpr { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `lookup_type_sig` [INFO] [stderr] --> src/typechecker.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | fn lookup_type_sig(&self, sig: &TypeSig) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_fresh_type_var` [INFO] [stderr] --> src/typechecker.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | fn get_fresh_type_var(&mut self) -> Type { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_pat` [INFO] [stderr] --> src/typechecker.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | fn infer_pat(&mut self, pat: &Pat) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_asgn` [INFO] [stderr] --> src/typechecker.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | fn infer_asgn(&mut self, pat: &Pat, rhs_type: Arc) -> Result, TypeError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_expr` [INFO] [stderr] --> src/typechecker.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | fn infer_expr(&mut self, expr: Expr) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `retrieve_params` [INFO] [stderr] --> src/typechecker.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | fn retrieve_params(&mut self, params: &Pat) -> Result, TypeError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `insert_params` [INFO] [stderr] --> src/typechecker.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | fn insert_params(&mut self, params: &Pat) -> Result<(), TypeError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_op` [INFO] [stderr] --> src/typechecker.rs:332:5 [INFO] [stderr] | [INFO] [stderr] 332 | fn infer_op(&mut self, op: &Op, lhs_type: Arc, rhs_type: Arc) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unify_type_vectors` [INFO] [stderr] --> src/typechecker.rs:363:5 [INFO] [stderr] | [INFO] [stderr] 363 | / fn unify_type_vectors( [INFO] [stderr] 364 | | &mut self, [INFO] [stderr] 365 | | type_vector1: &Vec>, [INFO] [stderr] 366 | | type_vector2: &Vec>, [INFO] [stderr] ... | [INFO] [stderr] 376 | | return true; [INFO] [stderr] 377 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unify` [INFO] [stderr] --> src/typechecker.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | fn unify(&mut self, type1: &Arc, type2: &Arc) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Function` [INFO] [stderr] --> src/wasm.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | Function { type_: u32 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Table` [INFO] [stderr] --> src/wasm.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | Table { type_: TableType }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Memory` [INFO] [stderr] --> src/wasm.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | Memory { type_: MemoryType }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Global` [INFO] [stderr] --> src/wasm.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | Global { type_: GlobalType }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_types_section` [INFO] [stderr] --> src/main.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | fn make_types_section() -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_exports_section` [INFO] [stderr] --> src/main.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | fn make_exports_section() -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_code_section` [INFO] [stderr] --> src/main.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | fn make_code_section() -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `run_repl` [INFO] [stderr] --> src/main.rs:101:1 [INFO] [stderr] | [INFO] [stderr] 101 | fn run_repl() -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `Name` should have a snake case name [INFO] [stderr] --> src/ast.rs:159:27 [INFO] [stderr] | [INFO] [stderr] 159 | Type::Var(Name) => "unknown".into(), [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/emitter.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | self.file.write_all(&self.buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/emitter.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | / emit_code( [INFO] [stderr] 156 | | &mut code_body, [INFO] [stderr] 157 | | OpCode::Count(usize_to_u32(body.locals.len())?), [INFO] [stderr] 158 | | ); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/emitter.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | emit_code(&mut code_body, opcode); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/emitter.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | emit_code(&mut code_body, OpCode::End); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `typeSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | typeSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `type_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `importSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | importSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `import_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `functionSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | functionSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `tableSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | tableSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `table_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `memorySection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | memorySection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `globalSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | globalSection: Vec<(GlobalType, Vec)>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `global_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `exportSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | exportSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `export_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `codeSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | codeSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `code_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `dataSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | dataSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `data_section` [INFO] [stderr] [INFO] [stderr] warning: private type `parser::Location` in public interface (error E0446) [INFO] [stderr] --> src/parser.rs:37:9 [INFO] [stderr] | [INFO] [stderr] 37 | location: Location, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(private_in_public)]` on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #34537 [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Asgn` [INFO] [stderr] --> src/ast.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Asgn(Pat, Expr), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expr` [INFO] [stderr] --> src/ast.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Expr(Expr), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Return` [INFO] [stderr] --> src/ast.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Return(Expr), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Block` [INFO] [stderr] --> src/ast.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Block(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `If` [INFO] [stderr] --> src/ast.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | If(Expr, Box, Option>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Expr` [INFO] [stderr] --> src/ast.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | Expr(TypedExpr), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Block` [INFO] [stderr] --> src/ast.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | Block(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `If` [INFO] [stderr] --> src/ast.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | If(TypedExpr, Box, Option>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Primary` [INFO] [stderr] --> src/ast.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | / Primary { [INFO] [stderr] 26 | | value: Value, [INFO] [stderr] 27 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Var` [INFO] [stderr] --> src/ast.rs:28:5 [INFO] [stderr] | [INFO] [stderr] 28 | / Var { [INFO] [stderr] 29 | | name: Name, [INFO] [stderr] 30 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BinOp` [INFO] [stderr] --> src/ast.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | / BinOp { [INFO] [stderr] 32 | | op: Op, [INFO] [stderr] 33 | | lhs: Box, [INFO] [stderr] 34 | | rhs: Box, [INFO] [stderr] 35 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnaryOp` [INFO] [stderr] --> src/ast.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | / UnaryOp { [INFO] [stderr] 37 | | op: Op, [INFO] [stderr] 38 | | rhs: Box, [INFO] [stderr] 39 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Function` [INFO] [stderr] --> src/ast.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | / Function { [INFO] [stderr] 41 | | params: Pat, [INFO] [stderr] 42 | | return_type: Option, [INFO] [stderr] 43 | | body: Box, [INFO] [stderr] 44 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/ast.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | / Call { [INFO] [stderr] 46 | | callee: Box, [INFO] [stderr] 47 | | arg: Box, [INFO] [stderr] 48 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tuple` [INFO] [stderr] --> src/ast.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | Tuple(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Var` [INFO] [stderr] --> src/ast.rs:58:5 [INFO] [stderr] | [INFO] [stderr] 58 | / Var { [INFO] [stderr] 59 | | name: Name, [INFO] [stderr] 60 | | type_: Arc, [INFO] [stderr] 61 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnaryOp` [INFO] [stderr] --> src/ast.rs:68:5 [INFO] [stderr] | [INFO] [stderr] 68 | / UnaryOp { [INFO] [stderr] 69 | | op: Op, [INFO] [stderr] 70 | | rhs: Box, [INFO] [stderr] 71 | | type_: Arc, [INFO] [stderr] 72 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Call` [INFO] [stderr] --> src/ast.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 78 | / Call { [INFO] [stderr] 79 | | callee: Box, [INFO] [stderr] 80 | | arg: Box, [INFO] [stderr] 81 | | type_: Arc, [INFO] [stderr] 82 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tuple` [INFO] [stderr] --> src/ast.rs:83:5 [INFO] [stderr] | [INFO] [stderr] 83 | Tuple(Vec, Arc), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/ast.rs:88:5 [INFO] [stderr] | [INFO] [stderr] 88 | Float(f32), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Bool` [INFO] [stderr] --> src/ast.rs:90:5 [INFO] [stderr] | [INFO] [stderr] 90 | Bool(bool), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `String` [INFO] [stderr] --> src/ast.rs:91:5 [INFO] [stderr] | [INFO] [stderr] 91 | String(String), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Comma` [INFO] [stderr] --> src/ast.rs:96:5 [INFO] [stderr] | [INFO] [stderr] 96 | Comma, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Plus` [INFO] [stderr] --> src/ast.rs:97:5 [INFO] [stderr] | [INFO] [stderr] 97 | Plus, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Times` [INFO] [stderr] --> src/ast.rs:99:5 [INFO] [stderr] | [INFO] [stderr] 99 | Times, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Div` [INFO] [stderr] --> src/ast.rs:100:5 [INFO] [stderr] | [INFO] [stderr] 100 | Div, [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `BangEqual` [INFO] [stderr] --> src/ast.rs:101:5 [INFO] [stderr] | [INFO] [stderr] 101 | BangEqual, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EqualEqual` [INFO] [stderr] --> src/ast.rs:102:5 [INFO] [stderr] | [INFO] [stderr] 102 | EqualEqual, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Greater` [INFO] [stderr] --> src/ast.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | Greater, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `GreaterEqual` [INFO] [stderr] --> src/ast.rs:104:5 [INFO] [stderr] | [INFO] [stderr] 104 | GreaterEqual, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Less` [INFO] [stderr] --> src/ast.rs:105:5 [INFO] [stderr] | [INFO] [stderr] 105 | Less, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `LessEqual` [INFO] [stderr] --> src/ast.rs:106:5 [INFO] [stderr] | [INFO] [stderr] 106 | LessEqual, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Float` [INFO] [stderr] --> src/ast.rs:135:5 [INFO] [stderr] | [INFO] [stderr] 135 | Float, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `String` [INFO] [stderr] --> src/ast.rs:139:5 [INFO] [stderr] | [INFO] [stderr] 139 | String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Var` [INFO] [stderr] --> src/ast.rs:140:5 [INFO] [stderr] | [INFO] [stderr] 140 | Var(Name), [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Array` [INFO] [stderr] --> src/ast.rs:141:5 [INFO] [stderr] | [INFO] [stderr] 141 | Array(Arc), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Record` [INFO] [stderr] --> src/ast.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | Record(Vec<(Name, Arc)>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tuple` [INFO] [stderr] --> src/ast.rs:143:5 [INFO] [stderr] | [INFO] [stderr] 143 | Tuple(Vec>), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_total_count` [INFO] [stderr] --> src/ast.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | pub fn get_total_count(&self) -> u32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Array` [INFO] [stderr] --> src/ast.rs:191:5 [INFO] [stderr] | [INFO] [stderr] 191 | Array(Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Name` [INFO] [stderr] --> src/ast.rs:192:5 [INFO] [stderr] | [INFO] [stderr] 192 | Name(Name), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Record` [INFO] [stderr] --> src/ast.rs:197:5 [INFO] [stderr] | [INFO] [stderr] 197 | Record(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Tuple` [INFO] [stderr] --> src/ast.rs:198:5 [INFO] [stderr] | [INFO] [stderr] 198 | Tuple(Vec), [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Empty` [INFO] [stderr] --> src/ast.rs:199:5 [INFO] [stderr] | [INFO] [stderr] 199 | Empty, [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_type` [INFO] [stderr] --> src/ast.rs:204:5 [INFO] [stderr] | [INFO] [stderr] 204 | pub fn get_type(&self) -> Arc { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InvalidFunctionType` [INFO] [stderr] --> src/emitter.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | InvalidFunctionType { type_: Type }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotImplemented` [INFO] [stderr] --> src/emitter.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | NotImplemented, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Illegal` [INFO] [stderr] --> src/lexer.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | Illegal, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EndOfFile` [INFO] [stderr] --> src/lexer.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | EndOfFile, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/lexer.rs:86:5 [INFO] [stderr] | [INFO] [stderr] 86 | pub fn new(source: &'input str) -> Lexer<'input> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `Parser` [INFO] [stderr] --> src/parser.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Parser<'input> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `EndOfFile` [INFO] [stderr] --> src/parser.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | / EndOfFile { [INFO] [stderr] 28 | | expected_tokens: Vec, [INFO] [stderr] 29 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnexpectedToken` [INFO] [stderr] --> src/parser.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | / UnexpectedToken { [INFO] [stderr] 35 | | token: Token, [INFO] [stderr] 36 | | expected_tokens: Vec, [INFO] [stderr] 37 | | location: Location, [INFO] [stderr] 38 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotImplemented` [INFO] [stderr] --> src/parser.rs:40:5 [INFO] [stderr] | [INFO] [stderr] 40 | NotImplemented, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotReachable` [INFO] [stderr] --> src/parser.rs:42:5 [INFO] [stderr] | [INFO] [stderr] 42 | NotReachable, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/parser.rs:46:5 [INFO] [stderr] | [INFO] [stderr] 46 | pub fn new(lexer: Lexer) -> Parser { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `expect` [INFO] [stderr] --> src/parser.rs:53:5 [INFO] [stderr] | [INFO] [stderr] 53 | fn expect(&mut self, expected: TokenDiscriminants) -> Result<(usize, Token, usize)> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `pushback` [INFO] [stderr] --> src/parser.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | fn pushback(&mut self, token: (usize, Token, usize)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `lookahead_match` [INFO] [stderr] --> src/parser.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | fn lookahead_match(&mut self, lookahead: TokenDiscriminants) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `match_multiple` [INFO] [stderr] --> src/parser.rs:94:5 [INFO] [stderr] | [INFO] [stderr] 94 | fn match_multiple(&mut self, tokens: Vec) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `bump` [INFO] [stderr] --> src/parser.rs:103:5 [INFO] [stderr] | [INFO] [stderr] 103 | fn bump(&mut self) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `peek` [INFO] [stderr] --> src/parser.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | fn peek(&mut self) -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `lookup_op_token` [INFO] [stderr] --> src/parser.rs:122:5 [INFO] [stderr] | [INFO] [stderr] 122 | fn lookup_op_token(&mut self, token: Token) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_block` [INFO] [stderr] --> src/parser.rs:138:5 [INFO] [stderr] | [INFO] [stderr] 138 | fn parse_block(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_statement` [INFO] [stderr] --> src/parser.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | pub fn parse_statement(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_return_statement` [INFO] [stderr] --> src/parser.rs:159:5 [INFO] [stderr] | [INFO] [stderr] 159 | fn parse_return_statement(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_let_statement` [INFO] [stderr] --> src/parser.rs:165:5 [INFO] [stderr] | [INFO] [stderr] 165 | fn parse_let_statement(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_expression_statement` [INFO] [stderr] --> src/parser.rs:189:5 [INFO] [stderr] | [INFO] [stderr] 189 | fn parse_expression_statement(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_expression` [INFO] [stderr] --> src/parser.rs:195:5 [INFO] [stderr] | [INFO] [stderr] 195 | fn parse_expression(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_function` [INFO] [stderr] --> src/parser.rs:202:5 [INFO] [stderr] | [INFO] [stderr] 202 | fn parse_function(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_equality` [INFO] [stderr] --> src/parser.rs:241:5 [INFO] [stderr] | [INFO] [stderr] 241 | fn parse_equality(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_comparison` [INFO] [stderr] --> src/parser.rs:257:5 [INFO] [stderr] | [INFO] [stderr] 257 | fn parse_comparison(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_addition` [INFO] [stderr] --> src/parser.rs:277:5 [INFO] [stderr] | [INFO] [stderr] 277 | fn parse_addition(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_multiplication` [INFO] [stderr] --> src/parser.rs:291:5 [INFO] [stderr] | [INFO] [stderr] 291 | fn parse_multiplication(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_unary` [INFO] [stderr] --> src/parser.rs:305:5 [INFO] [stderr] | [INFO] [stderr] 305 | fn parse_unary(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_primary` [INFO] [stderr] --> src/parser.rs:318:5 [INFO] [stderr] | [INFO] [stderr] 318 | fn parse_primary(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_pattern` [INFO] [stderr] --> src/parser.rs:374:5 [INFO] [stderr] | [INFO] [stderr] 374 | fn parse_pattern(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_record_pattern` [INFO] [stderr] --> src/parser.rs:420:5 [INFO] [stderr] | [INFO] [stderr] 420 | fn parse_record_pattern(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_type_sig` [INFO] [stderr] --> src/parser.rs:438:5 [INFO] [stderr] | [INFO] [stderr] 438 | fn parse_type_sig(&mut self) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `parse_type` [INFO] [stderr] --> src/parser.rs:446:5 [INFO] [stderr] | [INFO] [stderr] 446 | fn parse_type(&mut self) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `comma` [INFO] [stderr] --> src/parser.rs:466:5 [INFO] [stderr] | [INFO] [stderr] 466 | / fn comma( [INFO] [stderr] 467 | | &mut self, [INFO] [stderr] 468 | | parse_fn: &dyn Fn(&mut Self) -> Result, [INFO] [stderr] 469 | | end_token: Token, [INFO] [stderr] ... | [INFO] [stderr] 478 | | } [INFO] [stderr] 479 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `InferFailure` [INFO] [stderr] --> src/typechecker.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | InferFailure { name: Name }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotImplemented` [INFO] [stderr] --> src/typechecker.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | NotImplemented, [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `OpFailure` [INFO] [stderr] --> src/typechecker.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | / OpFailure { [INFO] [stderr] 18 | | op: Op, [INFO] [stderr] 19 | | lhs_type: Arc, [INFO] [stderr] 20 | | rhs_type: Arc, [INFO] [stderr] 21 | | }, [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `UnificationFailure` [INFO] [stderr] --> src/typechecker.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 23 | UnificationFailure { type1: Arc, type2: Arc }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `TypeDoesNotExist` [INFO] [stderr] --> src/typechecker.rs:25:5 [INFO] [stderr] | [INFO] [stderr] 25 | TypeDoesNotExist { type_name: Name }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ArityMismatch` [INFO] [stderr] --> src/typechecker.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | ArityMismatch { arity1: usize, arity2: usize }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `RecordContainsNonIds` [INFO] [stderr] --> src/typechecker.rs:29:5 [INFO] [stderr] | [INFO] [stderr] 29 | RecordContainsNonIds { record: Pat }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `TypeChecker` [INFO] [stderr] --> src/typechecker.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | pub struct TypeChecker { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/typechecker.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | pub fn new() -> TypeChecker { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_stmt` [INFO] [stderr] --> src/typechecker.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 65 | pub fn infer_stmt(&mut self, stmt: Stmt) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_value` [INFO] [stderr] --> src/typechecker.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 121 | fn infer_value(&self, value: Value) -> TypedExpr { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `lookup_type_sig` [INFO] [stderr] --> src/typechecker.rs:142:5 [INFO] [stderr] | [INFO] [stderr] 142 | fn lookup_type_sig(&self, sig: &TypeSig) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `get_fresh_type_var` [INFO] [stderr] --> src/typechecker.rs:160:5 [INFO] [stderr] | [INFO] [stderr] 160 | fn get_fresh_type_var(&mut self) -> Type { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_pat` [INFO] [stderr] --> src/typechecker.rs:166:5 [INFO] [stderr] | [INFO] [stderr] 166 | fn infer_pat(&mut self, pat: &Pat) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_asgn` [INFO] [stderr] --> src/typechecker.rs:183:5 [INFO] [stderr] | [INFO] [stderr] 183 | fn infer_asgn(&mut self, pat: &Pat, rhs_type: Arc) -> Result, TypeError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_expr` [INFO] [stderr] --> src/typechecker.rs:196:5 [INFO] [stderr] | [INFO] [stderr] 196 | fn infer_expr(&mut self, expr: Expr) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `retrieve_params` [INFO] [stderr] --> src/typechecker.rs:267:5 [INFO] [stderr] | [INFO] [stderr] 267 | fn retrieve_params(&mut self, params: &Pat) -> Result, TypeError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `insert_params` [INFO] [stderr] --> src/typechecker.rs:307:5 [INFO] [stderr] | [INFO] [stderr] 307 | fn insert_params(&mut self, params: &Pat) -> Result<(), TypeError> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `infer_op` [INFO] [stderr] --> src/typechecker.rs:332:5 [INFO] [stderr] | [INFO] [stderr] 332 | fn infer_op(&mut self, op: &Op, lhs_type: Arc, rhs_type: Arc) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unify_type_vectors` [INFO] [stderr] --> src/typechecker.rs:363:5 [INFO] [stderr] | [INFO] [stderr] 363 | / fn unify_type_vectors( [INFO] [stderr] 364 | | &mut self, [INFO] [stderr] 365 | | type_vector1: &Vec>, [INFO] [stderr] 366 | | type_vector2: &Vec>, [INFO] [stderr] ... | [INFO] [stderr] 376 | | return true; [INFO] [stderr] 377 | | } [INFO] [stderr] | |_____^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `unify` [INFO] [stderr] --> src/typechecker.rs:379:5 [INFO] [stderr] | [INFO] [stderr] 379 | fn unify(&mut self, type1: &Arc, type2: &Arc) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Function` [INFO] [stderr] --> src/wasm.rs:79:5 [INFO] [stderr] | [INFO] [stderr] 79 | Function { type_: u32 }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Table` [INFO] [stderr] --> src/wasm.rs:80:5 [INFO] [stderr] | [INFO] [stderr] 80 | Table { type_: TableType }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Memory` [INFO] [stderr] --> src/wasm.rs:81:5 [INFO] [stderr] | [INFO] [stderr] 81 | Memory { type_: MemoryType }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Global` [INFO] [stderr] --> src/wasm.rs:82:5 [INFO] [stderr] | [INFO] [stderr] 82 | Global { type_: GlobalType }, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_types_section` [INFO] [stderr] --> src/main.rs:33:1 [INFO] [stderr] | [INFO] [stderr] 33 | fn make_types_section() -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_exports_section` [INFO] [stderr] --> src/main.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | fn make_exports_section() -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `make_code_section` [INFO] [stderr] --> src/main.rs:48:1 [INFO] [stderr] | [INFO] [stderr] 48 | fn make_code_section() -> Vec { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `run_repl` [INFO] [stderr] --> src/main.rs:101:1 [INFO] [stderr] | [INFO] [stderr] 101 | fn run_repl() -> Result<()> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `Name` should have a snake case name [INFO] [stderr] --> src/ast.rs:159:27 [INFO] [stderr] | [INFO] [stderr] 159 | Type::Var(Name) => "unknown".into(), [INFO] [stderr] | ^^^^ help: convert the identifier to snake case: `name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/emitter.rs:86:9 [INFO] [stderr] | [INFO] [stderr] 86 | self.file.write_all(&self.buffer); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/emitter.rs:155:13 [INFO] [stderr] | [INFO] [stderr] 155 | / emit_code( [INFO] [stderr] 156 | | &mut code_body, [INFO] [stderr] 157 | | OpCode::Count(usize_to_u32(body.locals.len())?), [INFO] [stderr] 158 | | ); [INFO] [stderr] | |______________^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/emitter.rs:160:17 [INFO] [stderr] | [INFO] [stderr] 160 | emit_code(&mut code_body, opcode); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/emitter.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | emit_code(&mut code_body, OpCode::End); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: structure field `typeSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:107:5 [INFO] [stderr] | [INFO] [stderr] 107 | typeSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `type_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `importSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:108:5 [INFO] [stderr] | [INFO] [stderr] 108 | importSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `import_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `functionSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:109:5 [INFO] [stderr] | [INFO] [stderr] 109 | functionSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `function_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `tableSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:110:5 [INFO] [stderr] | [INFO] [stderr] 110 | tableSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^ help: convert the identifier to snake case: `table_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `memorySection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:111:5 [INFO] [stderr] | [INFO] [stderr] 111 | memorySection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `memory_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `globalSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:112:5 [INFO] [stderr] | [INFO] [stderr] 112 | globalSection: Vec<(GlobalType, Vec)>, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `global_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `exportSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:113:5 [INFO] [stderr] | [INFO] [stderr] 113 | exportSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ help: convert the identifier to snake case: `export_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `codeSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:114:5 [INFO] [stderr] | [INFO] [stderr] 114 | codeSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `code_section` [INFO] [stderr] [INFO] [stderr] warning: structure field `dataSection` should have a snake case name [INFO] [stderr] --> src/wasm.rs:115:5 [INFO] [stderr] | [INFO] [stderr] 115 | dataSection: Vec, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `data_section` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 28.00s [INFO] running `"docker" "inspect" "ffc79486ab63b404e8c57e63eaaf938c8b06bbfbb8f710056ed7f97a43b839cb"` [INFO] running `"docker" "rm" "-f" "ffc79486ab63b404e8c57e63eaaf938c8b06bbfbb8f710056ed7f97a43b839cb"` [INFO] [stdout] ffc79486ab63b404e8c57e63eaaf938c8b06bbfbb8f710056ed7f97a43b839cb