[INFO] cloning repository https://github.com/andyyu2004/l-language [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/andyyu2004/l-language" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandyyu2004%2Fl-language", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandyyu2004%2Fl-language'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6c62c32c582ef9e7086f12d0b4fb36f37816fa62 [INFO] checking andyyu2004/l-language/6c62c32c582ef9e7086f12d0b4fb36f37816fa62 against master#ab869e094a907cc5d19b4080f22eccaf347f1f95 for pr-129604 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandyyu2004%2Fl-language" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/andyyu2004/l-language on toolchain ab869e094a907cc5d19b4080f22eccaf347f1f95 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/andyyu2004/l-language [INFO] finished tweaking git repo https://github.com/andyyu2004/l-language [INFO] tweaked toml for git repo https://github.com/andyyu2004/l-language written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/andyyu2004/l-language 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" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 27cbbca40474aee6e88a1ca183632b8ca5abaeb9c93727aa2692d69f33f04368 [INFO] running `Command { std: "docker" "start" "-a" "27cbbca40474aee6e88a1ca183632b8ca5abaeb9c93727aa2692d69f33f04368", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "27cbbca40474aee6e88a1ca183632b8ca5abaeb9c93727aa2692d69f33f04368", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "27cbbca40474aee6e88a1ca183632b8ca5abaeb9c93727aa2692d69f33f04368", kill_on_drop: false }` [INFO] [stdout] 27cbbca40474aee6e88a1ca183632b8ca5abaeb9c93727aa2692d69f33f04368 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+ab869e094a907cc5d19b4080f22eccaf347f1f95" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7090927bba5eb3e12fc6496440e6103dee014eb6c1b7db546165210486779598 [INFO] running `Command { std: "docker" "start" "-a" "7090927bba5eb3e12fc6496440e6103dee014eb6c1b7db546165210486779598", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.60 [INFO] [stderr] Checking cfg-if v0.1.9 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Compiling log v0.4.7 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Checking unicode-segmentation v1.3.0 [INFO] [stderr] Checking unicode-width v0.1.5 [INFO] [stderr] Checking either v1.5.2 [INFO] [stderr] Checking utf8parse v0.1.1 [INFO] [stderr] Checking itertools v0.8.0 [INFO] [stderr] Checking dirs-sys v0.3.3 [INFO] [stderr] Checking dirs v2.0.1 [INFO] [stderr] Checking rustyline v5.0.0 [INFO] [stderr] Checking l v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/lexing/lexer.rs:116:20 [INFO] [stdout] | [INFO] [stdout] 116 | '0'...'9' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/lexing/lexer.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | 'A'...'Z' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lexing::Token` [INFO] [stdout] --> src/interpreting/objects/l_struct.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::lexing::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::errors::LError` [INFO] [stdout] --> src/interpreting/objects/l_lambda.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::errors::LError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/types/l_types.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/types/l_types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/types/l_types.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::main` [INFO] [stdout] --> src/types/l_types.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::main; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vec_to_type_map` [INFO] [stdout] --> src/types/l_types.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::utility::{vec_to_type_map, vec_to_vec_map, vec_contains_key, vec_replace_key, vec_update_value}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vec_to_type_map` [INFO] [stdout] --> src/types/type_checker.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::utility::{vec_to_type_map, vec_to_vec_map}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::l_types::LType::TVar` [INFO] [stdout] --> src/static_analysis/static_analyser.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::types::l_types::LType::TVar; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/lexing/lexer.rs:116:20 [INFO] [stdout] | [INFO] [stdout] 116 | '0'...'9' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] = note: `#[warn(ellipsis_inclusive_range_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `...` range patterns are deprecated [INFO] [stdout] --> src/lexing/lexer.rs:148:20 [INFO] [stdout] | [INFO] [stdout] 148 | 'A'...'Z' => { [INFO] [stdout] | ^^^ help: use `..=` for an inclusive range [INFO] [stdout] | [INFO] [stdout] = warning: this is accepted in the current edition (Rust 2018) but is a hard error in Rust 2021! [INFO] [stdout] = note: for more information, see [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::lexing::Token` [INFO] [stdout] --> src/interpreting/objects/l_struct.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::lexing::Token; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::errors::LError` [INFO] [stdout] --> src/interpreting/objects/l_lambda.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::errors::LError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::rc::Rc` [INFO] [stdout] --> src/types/l_types.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use std::rc::Rc; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::cell::RefCell` [INFO] [stdout] --> src/types/l_types.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use std::cell::RefCell; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> src/types/l_types.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 13 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::main` [INFO] [stdout] --> src/types/l_types.rs:14:5 [INFO] [stdout] | [INFO] [stdout] 14 | use crate::main; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vec_to_type_map` [INFO] [stdout] --> src/types/l_types.rs:15:22 [INFO] [stdout] | [INFO] [stdout] 15 | use crate::utility::{vec_to_type_map, vec_to_vec_map, vec_contains_key, vec_replace_key, vec_update_value}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `vec_to_type_map` [INFO] [stdout] --> src/types/type_checker.rs:18:22 [INFO] [stdout] | [INFO] [stdout] 18 | use crate::utility::{vec_to_type_map, vec_to_vec_map}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::l_types::LType::TVar` [INFO] [stdout] --> src/static_analysis/static_analyser.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 16 | use crate::types::l_types::LType::TVar; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LInvocable` [INFO] [stdout] --> src/interpreting/interpreter.rs:19:45 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::interpreting::objects::{LObject, LInvocable, Variant, Function, Struct, Tuple, Lambda}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/utility/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | for (k, v) in xs { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/utility/mod.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | for (k, v) in xs { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/interpreting/objects/l_function.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | FnCurried { name, param, ret, .. } => { [INFO] [stdout] | ^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `LInvocable` [INFO] [stdout] --> src/interpreting/interpreter.rs:19:45 [INFO] [stdout] | [INFO] [stdout] 19 | use crate::interpreting::objects::{LObject, LInvocable, Variant, Function, Struct, Tuple, Lambda}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/types/l_types.rs:187:23 [INFO] [stdout] | [INFO] [stdout] 187 | (TVar(_), t) => true, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/types/l_types.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | (t, TVar(_)) => true, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/types/l_types.rs:385:35 [INFO] [stdout] | [INFO] [stdout] 385 | let xvalues = xs.iter().map(|(x,y)| y).collect_vec(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/types/l_types.rs:386:35 [INFO] [stdout] | [INFO] [stdout] 386 | let yvalues = ys.iter().map(|(x,y)| y).collect_vec(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/types/type_checker.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | _ => panic!("Unimplented in type_check_stmt") [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/types/type_checker.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 93 | LStmt(ref mut expr) | ExprStmt(ref mut expr) | PrintStmt(ref mut expr) => self.type_of_expr(expr), [INFO] [stdout] | ---------------------------------------------------------------------- matches some of the same values [INFO] [stdout] 94 | FnStmt { name, token, param, ret_type, body, tparams } => [INFO] [stdout] | ------------------------------------------------------ matches some of the same values [INFO] [stdout] 95 | self.type_of_fn(name, token, tparams, param,ret_type, body), [INFO] [stdout] 96 | FnCurried { name, tparams, param, ret, token } => [INFO] [stdout] | ---------------------------------------------- matches some of the same values [INFO] [stdout] 97 | self.type_of_curried_fn(name, token, tparams, param, ret), [INFO] [stdout] 98 | VarStmt { name, ltype, init} => self.type_of_var_decl(name, ltype, init.as_mut()), [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 105 | _ => panic!("Unimplented in type_check_stmt") [INFO] [stdout] | ^ ...and 6 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/types/type_checker.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | for (k, v) in variants { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/types/type_checker.rs:701:22 [INFO] [stdout] | [INFO] [stdout] 701 | FnStmt { name, param, ret_type, .. } => match param { [INFO] [stdout] | ^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/static_analysis/static_analyser.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | x => unimplemented!("Unimplemented in analyse stmt {}", x) [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/static_analysis/static_analyser.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 52 | LStmt(expr) | ExprStmt(expr) | PrintStmt(expr) => self.analyse_expr(expr), [INFO] [stdout] | ---------------------------------------------- matches some of the same values [INFO] [stdout] 53 | VarStmt { name , init, .. } => self.analyse_var_decl(name, init), [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] 54 | LetStmt{ token, pattern , init, ..} => self.analyse_let_binding(token, pattern, init), [INFO] [stdout] | ----------------------------------- matches some of the same values [INFO] [stdout] 55 | FnStmt { name, param, body, tparams, token, ..} => [INFO] [stdout] | ----------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 67 | x => unimplemented!("Unimplemented in analyse stmt {}", x) [INFO] [stdout] | ^ ...and 6 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/utility/mod.rs:29:13 [INFO] [stdout] | [INFO] [stdout] 29 | for (k, v) in xs { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `v` [INFO] [stdout] --> src/utility/mod.rs:36:13 [INFO] [stdout] | [INFO] [stdout] 36 | for (k, v) in xs { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_v` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/static_analysis/static_analyser.rs:250:35 [INFO] [stdout] | [INFO] [stdout] 250 | fn analyse_fn_decl(&mut self, token: &Token, name: &Option, param: &Option>, body: &Vec, tparams: &Vec src/static_analysis/static_analyser.rs:250:120 [INFO] [stdout] | [INFO] [stdout] 250 | ...>, body: &Vec, tparams: &Vec) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tparams` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/static_analysis/static_analyser.rs:273:43 [INFO] [stdout] | [INFO] [stdout] 273 | fn analyse_curried_fn_decl(&mut self, token: &Token, name: &Option, param: &Pair, ret: &Stmt, tparams: &Vec) ->... [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tparams` [INFO] [stdout] --> src/static_analysis/static_analyser.rs:273:114 [INFO] [stdout] | [INFO] [stdout] 273 | ...: &Pair, ret: &Stmt, tparams: &Vec) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tparams` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec_to_type_map` is never used [INFO] [stdout] --> src/utility/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn vec_to_type_map(vec: Vec) -> HashMap> where T : Hash + Eq { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `function` and `lambda` are never used [INFO] [stdout] --> src/interpreting/objects/l_object.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl LObject { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn function(&self) -> &Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn lambda(&self) -> &Lambda { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PRecord` is never constructed [INFO] [stdout] --> src/interpreting/pattern_matching/pattern.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum LPattern { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 9 | // POr(Box, Box), [INFO] [stdout] 10 | PRecord, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pair` is never constructed [INFO] [stdout] --> src/internal/data_structures/pair.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Pair { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pair` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/interpreting/objects/l_function.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | FnCurried { name, param, ret, .. } => { [INFO] [stdout] | ^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/types/l_types.rs:187:23 [INFO] [stdout] | [INFO] [stdout] 187 | (TVar(_), t) => true, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `t` [INFO] [stdout] --> src/types/l_types.rs:188:14 [INFO] [stdout] | [INFO] [stdout] 188 | (t, TVar(_)) => true, [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_t` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/types/l_types.rs:385:35 [INFO] [stdout] | [INFO] [stdout] 385 | let xvalues = xs.iter().map(|(x,y)| y).collect_vec(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `x` [INFO] [stdout] --> src/types/l_types.rs:386:35 [INFO] [stdout] | [INFO] [stdout] 386 | let yvalues = ys.iter().map(|(x,y)| y).collect_vec(); [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_x` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/types/type_checker.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 105 | _ => panic!("Unimplented in type_check_stmt") [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/types/type_checker.rs:105:13 [INFO] [stdout] | [INFO] [stdout] 93 | LStmt(ref mut expr) | ExprStmt(ref mut expr) | PrintStmt(ref mut expr) => self.type_of_expr(expr), [INFO] [stdout] | ---------------------------------------------------------------------- matches some of the same values [INFO] [stdout] 94 | FnStmt { name, token, param, ret_type, body, tparams } => [INFO] [stdout] | ------------------------------------------------------ matches some of the same values [INFO] [stdout] 95 | self.type_of_fn(name, token, tparams, param,ret_type, body), [INFO] [stdout] 96 | FnCurried { name, tparams, param, ret, token } => [INFO] [stdout] | ---------------------------------------------- matches some of the same values [INFO] [stdout] 97 | self.type_of_curried_fn(name, token, tparams, param, ret), [INFO] [stdout] 98 | VarStmt { name, ltype, init} => self.type_of_var_decl(name, ltype, init.as_mut()), [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 105 | _ => panic!("Unimplented in type_check_stmt") [INFO] [stdout] | ^ ...and 6 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `k` [INFO] [stdout] --> src/types/type_checker.rs:128:14 [INFO] [stdout] | [INFO] [stdout] 128 | for (k, v) in variants { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_k` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/types/type_checker.rs:701:22 [INFO] [stdout] | [INFO] [stdout] 701 | FnStmt { name, param, ret_type, .. } => match param { [INFO] [stdout] | ^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/static_analysis/static_analyser.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 67 | x => unimplemented!("Unimplemented in analyse stmt {}", x) [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/static_analysis/static_analyser.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 52 | LStmt(expr) | ExprStmt(expr) | PrintStmt(expr) => self.analyse_expr(expr), [INFO] [stdout] | ---------------------------------------------- matches some of the same values [INFO] [stdout] 53 | VarStmt { name , init, .. } => self.analyse_var_decl(name, init), [INFO] [stdout] | --------------------------- matches some of the same values [INFO] [stdout] 54 | LetStmt{ token, pattern , init, ..} => self.analyse_let_binding(token, pattern, init), [INFO] [stdout] | ----------------------------------- matches some of the same values [INFO] [stdout] 55 | FnStmt { name, param, body, tparams, token, ..} => [INFO] [stdout] | ----------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 67 | x => unimplemented!("Unimplemented in analyse stmt {}", x) [INFO] [stdout] | ^ ...and 6 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/static_analysis/static_analyser.rs:250:35 [INFO] [stdout] | [INFO] [stdout] 250 | fn analyse_fn_decl(&mut self, token: &Token, name: &Option, param: &Option>, body: &Vec, tparams: &Vec src/static_analysis/static_analyser.rs:250:120 [INFO] [stdout] | [INFO] [stdout] 250 | ...>, body: &Vec, tparams: &Vec) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tparams` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token` [INFO] [stdout] --> src/static_analysis/static_analyser.rs:273:43 [INFO] [stdout] | [INFO] [stdout] 273 | fn analyse_curried_fn_decl(&mut self, token: &Token, name: &Option, param: &Pair, ret: &Stmt, tparams: &Vec) ->... [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_token` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `tparams` [INFO] [stdout] --> src/static_analysis/static_analyser.rs:273:114 [INFO] [stdout] | [INFO] [stdout] 273 | ...: &Pair, ret: &Stmt, tparams: &Vec) -> Result { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tparams` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `vec_to_type_map` is never used [INFO] [stdout] --> src/utility/mod.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub fn vec_to_type_map(vec: Vec) -> HashMap> where T : Hash + Eq { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `function` and `lambda` are never used [INFO] [stdout] --> src/interpreting/objects/l_object.rs:57:12 [INFO] [stdout] | [INFO] [stdout] 31 | impl LObject { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 57 | pub fn function(&self) -> &Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub fn lambda(&self) -> &Lambda { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `PRecord` is never constructed [INFO] [stdout] --> src/interpreting/pattern_matching/pattern.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum LPattern { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] 9 | // POr(Box, Box), [INFO] [stdout] 10 | PRecord, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LPattern` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Pair` is never constructed [INFO] [stdout] --> src/internal/data_structures/pair.rs:2:12 [INFO] [stdout] | [INFO] [stdout] 2 | pub struct Pair { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pair` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 31 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.52s [INFO] running `Command { std: "docker" "inspect" "7090927bba5eb3e12fc6496440e6103dee014eb6c1b7db546165210486779598", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7090927bba5eb3e12fc6496440e6103dee014eb6c1b7db546165210486779598", kill_on_drop: false }` [INFO] [stdout] 7090927bba5eb3e12fc6496440e6103dee014eb6c1b7db546165210486779598