[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] building andyyu2004/l-language against master#11663cd3bfefef7d34e8f0892c250bf698049392+rustflags=-Dtail-expr-drop-order for pr-134523 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fandyyu2004%2Fl-language" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/andyyu2004/l-language on toolchain 11663cd3bfefef7d34e8f0892c250bf698049392 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "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-3-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" "+11663cd3bfefef7d34e8f0892c250bf698049392" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded dirs v2.0.1 [INFO] [stderr] Downloaded utf8parse v0.1.1 [INFO] [stderr] Downloaded dirs-sys v0.3.3 [INFO] [stderr] Downloaded log v0.4.7 [INFO] [stderr] Downloaded syn v0.15.41 [INFO] [stderr] Downloaded rustyline v5.0.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0f6352a2b8d0ccafa982f231f776399b74207acecd2dfb2c9e2cf1e8c9e0cee3 [INFO] running `Command { std: "docker" "start" "-a" "0f6352a2b8d0ccafa982f231f776399b74207acecd2dfb2c9e2cf1e8c9e0cee3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0f6352a2b8d0ccafa982f231f776399b74207acecd2dfb2c9e2cf1e8c9e0cee3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0f6352a2b8d0ccafa982f231f776399b74207acecd2dfb2c9e2cf1e8c9e0cee3", kill_on_drop: false }` [INFO] [stdout] 0f6352a2b8d0ccafa982f231f776399b74207acecd2dfb2c9e2cf1e8c9e0cee3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] c8884c53c00f7ac8f4fca750cec3d3c8751b0aceec1826ea77321259b2e74c15 [INFO] running `Command { std: "docker" "start" "-a" "c8884c53c00f7ac8f4fca750cec3d3c8751b0aceec1826ea77321259b2e74c15", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.60 [INFO] [stderr] Compiling cfg-if v0.1.9 [INFO] [stderr] Compiling bitflags v1.1.0 [INFO] [stderr] Compiling memchr v2.2.1 [INFO] [stderr] Compiling nix v0.14.1 [INFO] [stderr] Compiling log v0.4.7 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling unicode-width v0.1.5 [INFO] [stderr] Compiling unicode-segmentation v1.3.0 [INFO] [stderr] Compiling either v1.5.2 [INFO] [stderr] Compiling utf8parse v0.1.1 [INFO] [stderr] Compiling itertools v0.8.0 [INFO] [stderr] Compiling dirs-sys v0.3.3 [INFO] [stderr] Compiling dirs v2.0.1 [INFO] [stderr] Compiling rustyline v5.0.0 [INFO] [stderr] Compiling 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: 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 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] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 5.55s [INFO] running `Command { std: "docker" "inspect" "c8884c53c00f7ac8f4fca750cec3d3c8751b0aceec1826ea77321259b2e74c15", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c8884c53c00f7ac8f4fca750cec3d3c8751b0aceec1826ea77321259b2e74c15", kill_on_drop: false }` [INFO] [stdout] c8884c53c00f7ac8f4fca750cec3d3c8751b0aceec1826ea77321259b2e74c15 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dtail-expr-drop-order" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:f3a9d4ad9d972b27faf3965f35b62e55ba32bbce8f20bc8fe909558a86702fde" "/opt/rustwide/cargo-home/bin/cargo" "+11663cd3bfefef7d34e8f0892c250bf698049392" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 63af3dc56d79a8d392e877562de634165a842446011e6735a5706cbcb0a14a3a [INFO] running `Command { std: "docker" "start" "-a" "63af3dc56d79a8d392e877562de634165a842446011e6735a5706cbcb0a14a3a", kill_on_drop: false }` [INFO] [stderr] Compiling 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: 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 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: `...` 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 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] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.83s [INFO] running `Command { std: "docker" "inspect" "63af3dc56d79a8d392e877562de634165a842446011e6735a5706cbcb0a14a3a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "63af3dc56d79a8d392e877562de634165a842446011e6735a5706cbcb0a14a3a", kill_on_drop: false }` [INFO] [stdout] 63af3dc56d79a8d392e877562de634165a842446011e6735a5706cbcb0a14a3a