[INFO] updating cached repository tawashichan/t_lang_rs [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/tawashichan/t_lang_rs [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/tawashichan/t_lang_rs" "work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/gh/tawashichan/t_lang_rs"` [INFO] [stderr] Cloning into 'work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/gh/tawashichan/t_lang_rs'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/tawashichan/t_lang_rs" "work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/gh/tawashichan/t_lang_rs"` [INFO] [stderr] Cloning into 'work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/gh/tawashichan/t_lang_rs'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 05d0dba0010e66fecab1cddee0727477b1331710 [INFO] sha for GitHub repo tawashichan/t_lang_rs: 05d0dba0010e66fecab1cddee0727477b1331710 [INFO] validating manifest of tawashichan/t_lang_rs on toolchain master#9f06855064ed06a50c496577b21ca50f92a2e67d [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of tawashichan/t_lang_rs on toolchain try#d3301713b54af69ca9de941a8c6b0d8287dbd6df [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing tawashichan/t_lang_rs [INFO] finished frobbing tawashichan/t_lang_rs [INFO] frobbed toml for tawashichan/t_lang_rs written to work/ex/pr-61874/sources/master#9f06855064ed06a50c496577b21ca50f92a2e67d/gh/tawashichan/t_lang_rs/Cargo.toml [INFO] started frobbing tawashichan/t_lang_rs [INFO] finished frobbing tawashichan/t_lang_rs [INFO] frobbed toml for tawashichan/t_lang_rs written to work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/gh/tawashichan/t_lang_rs/Cargo.toml [INFO] crate tawashichan/t_lang_rs already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+9f06855064ed06a50c496577b21ca50f92a2e67d-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking tawashichan/t_lang_rs against try#d3301713b54af69ca9de941a8c6b0d8287dbd6df for pr-61874 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/pr-61874/worker-2/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/pr-61874/sources/try#d3301713b54af69ca9de941a8c6b0d8287dbd6df/gh/tawashichan/t_lang_rs:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+d3301713b54af69ca9de941a8c6b0d8287dbd6df-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 0161d08d06185fe1ecc4007c2217657cba6c26b57818033a710c01efa64c2076 [INFO] running `"docker" "start" "-a" "0161d08d06185fe1ecc4007c2217657cba6c26b57818033a710c01efa64c2076"` [INFO] [stderr] Checking t_lang v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused import: `init_prog` [INFO] [stderr] --> src/eval.rs:4:40 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::ast::{Typ,Exp,Stmt,Prog,Var,init_prog}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::*` [INFO] [stderr] --> src/main.rs:16:5 [INFO] [stderr] | [INFO] [stderr] 16 | use crate::ast::*; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::Stmt::*` [INFO] [stderr] --> src/main.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | use crate::ast::Stmt::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::Exp::*` [INFO] [stderr] --> src/main.rs:18:5 [INFO] [stderr] | [INFO] [stderr] 18 | use crate::ast::Exp::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::Typ::*` [INFO] [stderr] --> src/main.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 19 | use crate::ast::Typ::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::Var::*` [INFO] [stderr] --> src/main.rs:20:5 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::ast::Var::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::lexer::Token` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:41:46 [INFO] [stderr] | [INFO] [stderr] 41 | fn write_to_file(s: &str) -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::lexer::Token` [INFO] [stderr] --> src/main.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::lexer::Token; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/main.rs:41:46 [INFO] [stderr] | [INFO] [stderr] 41 | fn write_to_file(s: &str) -> Result<(), Box> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn std::error::Error` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(bare_trait_objects)] on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/eval.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | _ => panic!("{:?}",stmts) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `code` [INFO] [stderr] --> src/main.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | let code = "let a = 1 [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_code` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | [Token::FUNCTION,rest..] => parse_function(tokens), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:64:36 [INFO] [stderr] | [INFO] [stderr] 64 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:68:24 [INFO] [stderr] | [INFO] [stderr] 68 | [Token::STRUCT,rest..] => parse_struct(tokens), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:69:24 [INFO] [stderr] | [INFO] [stderr] 69 | [Token::LBRACE,rest..] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | [Token::LET,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:84:26 [INFO] [stderr] | [INFO] [stderr] 84 | [Token::FUNCTION,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:86:24 [INFO] [stderr] | [INFO] [stderr] 86 | [Token::RETURN,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:87:24 [INFO] [stderr] | [INFO] [stderr] 87 | [Token::STRUCT,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:88:24 [INFO] [stderr] | [INFO] [stderr] 88 | [Token::LBRACE,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:89:22 [INFO] [stderr] | [INFO] [stderr] 89 | [Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:90:20 [INFO] [stderr] | [INFO] [stderr] 90 | [Token::IF,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/parser.rs:91:21 [INFO] [stderr] | [INFO] [stderr] 91 | [Token::INT(i),rest..] => CheckNext::Expr, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | [Token::INT(i),rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:92:36 [INFO] [stderr] | [INFO] [stderr] 92 | [Token::VAR(s),Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/parser.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | [Token::VAR(s),Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:93:24 [INFO] [stderr] | [INFO] [stderr] 93 | [Token::VAR(s),rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/parser.rs:93:21 [INFO] [stderr] | [INFO] [stderr] 93 | [Token::VAR(s),rest..] => CheckNext::Expr, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:94:28 [INFO] [stderr] | [INFO] [stderr] 94 | [Token::STRING(s), rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/parser.rs:94:24 [INFO] [stderr] | [INFO] [stderr] 94 | [Token::STRING(s), rest..] => CheckNext::Expr, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | [Token::NOT,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:96:22 [INFO] [stderr] | [INFO] [stderr] 96 | [Token::TRUE,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:97:23 [INFO] [stderr] | [INFO] [stderr] 97 | [Token::FALSE,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:98:26 [INFO] [stderr] | [INFO] [stderr] 98 | [Token::LBRACKET,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:162:22 [INFO] [stderr] | [INFO] [stderr] 162 | [Token::RPAR,rest..] => (tokens,args.to_vec()), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/parser.rs:174:21 [INFO] [stderr] | [INFO] [stderr] 174 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:189:22 [INFO] [stderr] | [INFO] [stderr] 189 | [Token::RPAR,rest..] => (tokens, args.to_vec()), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:211:24 [INFO] [stderr] | [INFO] [stderr] 211 | [Token::LBRACE,rest..] => (tokens,Typ::VoidTyp), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:287:36 [INFO] [stderr] | [INFO] [stderr] 287 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obj` [INFO] [stderr] --> src/eval.rs:26:56 [INFO] [stderr] | [INFO] [stderr] 26 | p.stmts.into_iter().fold((Object::NoneObj,env), |(obj,e),current| [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_obj` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obj` [INFO] [stderr] --> src/eval.rs:52:82 [INFO] [stderr] | [INFO] [stderr] 52 | let (obj,e) = stmts.into_iter().fold((Object::NoneObj,local_env), |(obj,e),current| [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_obj` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/eval.rs:52:22 [INFO] [stderr] | [INFO] [stderr] 52 | let (obj,e) = stmts.into_iter().fold((Object::NoneObj,local_env), |(obj,e),current| [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/eval.rs:85:28 [INFO] [stderr] | [INFO] [stderr] 85 | [Stmt::Return(exp),rest..] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obj` [INFO] [stderr] --> src/eval.rs:93:18 [INFO] [stderr] | [INFO] [stderr] 93 | let (obj,env) = eval_stmt(first.clone(), env.clone()); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_obj` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/eval.rs:355:21 [INFO] [stderr] | [INFO] [stderr] 355 | Object::Int(i) => match expected { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/eval.rs:359:23 [INFO] [stderr] | [INFO] [stderr] 359 | Object::Bool(i) => match expected { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/interactive.rs:62:14 [INFO] [stderr] | [INFO] [stderr] 62 | let (obj,e) = eval::eval_prog(ast,env); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `int_index` [INFO] [stderr] --> src/compiler.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | let int_index = state.add_constant(Object::Int(i.clone())); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_int_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ret` [INFO] [stderr] --> src/gen_x86.rs:61:53 [INFO] [stderr] | [INFO] [stderr] 61 | fn gen_func_dec(name: &str, args: &[(String, Typ)], ret: &Typ, body: &Stmt) -> String { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_ret` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current` [INFO] [stderr] --> src/gen_x86.rs:101:45 [INFO] [stderr] | [INFO] [stderr] 101 | .fold("".to_string(), |acm, current| acm + "\nmov rdi, 1"); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_current` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interactive.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | let mut env = eval::init_env(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IndexedVar` [INFO] [stderr] --> src/ast.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | IndexedVar(Box,Exp) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/eval.rs:97:9 [INFO] [stderr] | [INFO] [stderr] 97 | _ => panic!("{:?}",stmts) [INFO] [stderr] | ^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unreachable_patterns)] on by default [INFO] [stderr] warning: variant is never constructed: `NilStmt` [INFO] [stderr] --> src/ast.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | NilStmt [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ArrayTyp` [INFO] [stderr] --> src/ast.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | ArrayTyp(i64,Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `size` [INFO] [stderr] --> src/ast.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn size(&self) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NULL` [INFO] [stderr] --> src/lexer.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | NULL, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_str` [INFO] [stderr] --> src/lexer.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | fn get_str(str_vec: &[char]) -> (String, &[char]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_str_sub` [INFO] [stderr] --> src/lexer.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | fn get_str_sub(str_vec: &[char],acm: String) -> (String,&[char]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_prog` [INFO] [stderr] --> src/eval.rs:25:1 [INFO] [stderr] | [INFO] [stderr] 25 | pub fn eval_prog(p: Prog,env: Env) -> (Object,Env) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `init_env` [INFO] [stderr] --> src/eval.rs:31:1 [INFO] [stderr] | [INFO] [stderr] 31 | pub fn init_env<'a>() -> Env<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `local_env` [INFO] [stderr] --> src/eval.rs:39:1 [INFO] [stderr] | [INFO] [stderr] 39 | fn local_env<'a>(prev: &'a Env<'a>) -> Env<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_stmt` [INFO] [stderr] --> src/eval.rs:47:1 [INFO] [stderr] | [INFO] [stderr] 47 | fn eval_stmt(stmt: Stmt,mut env: Env) -> (Object,Env) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_block` [INFO] [stderr] --> src/eval.rs:76:1 [INFO] [stderr] | [INFO] [stderr] 76 | fn eval_block(block: Stmt,env: &Env) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_block_sub` [INFO] [stderr] --> src/eval.rs:83:1 [INFO] [stderr] | [INFO] [stderr] 83 | fn eval_block_sub(stmts: &[Stmt],env: &Env) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_exp` [INFO] [stderr] --> src/eval.rs:101:1 [INFO] [stderr] | [INFO] [stderr] 101 | fn eval_exp(exp: Exp,env: &Env) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_if` [INFO] [stderr] --> src/eval.rs:122:1 [INFO] [stderr] | [INFO] [stderr] 122 | fn eval_if(cond: Exp,then: Stmt,els: Option,env: &Env) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `eval_proc` [INFO] [stderr] --> src/eval.rs:138:1 [INFO] [stderr] | [INFO] [stderr] 138 | fn eval_proc(name: String,exps: Vec,env: &Env) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `call_func` [INFO] [stderr] --> src/eval.rs:143:1 [INFO] [stderr] | [INFO] [stderr] 143 | fn call_func(name: String,exps: Vec,env: &Env) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `call_decleared_func` [INFO] [stderr] --> src/eval.rs:201:1 [INFO] [stderr] | [INFO] [stderr] 201 | fn call_decleared_func(name: String,args: Vec,env: &Env) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `bind_args` [INFO] [stderr] --> src/eval.rs:215:1 [INFO] [stderr] | [INFO] [stderr] 215 | fn bind_args<'a>(def_args: Vec<(String,Typ)>,call_args: Vec,env: &'a mut Env<'a>) -> &'a Env<'a> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `add_int` [INFO] [stderr] --> src/eval.rs:229:1 [INFO] [stderr] | [INFO] [stderr] 229 | fn add_int(i1: Object,i2: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `mul_int` [INFO] [stderr] --> src/eval.rs:243:1 [INFO] [stderr] | [INFO] [stderr] 243 | fn mul_int(i1: Object,i2: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `minus_int` [INFO] [stderr] --> src/eval.rs:257:1 [INFO] [stderr] | [INFO] [stderr] 257 | fn minus_int(i1: Object,i2: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `div_int` [INFO] [stderr] --> src/eval.rs:271:1 [INFO] [stderr] | [INFO] [stderr] 271 | fn div_int(i1: Object,i2: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `equality` [INFO] [stderr] --> src/eval.rs:285:1 [INFO] [stderr] | [INFO] [stderr] 285 | fn equality(o1: Object,o2: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `gt` [INFO] [stderr] --> src/eval.rs:290:1 [INFO] [stderr] | [INFO] [stderr] 290 | fn gt(o1: Object,o2: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `lt` [INFO] [stderr] --> src/eval.rs:303:1 [INFO] [stderr] | [INFO] [stderr] 303 | fn lt(o1: Object,o2: Object) -> Object { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `check_arg_num` [INFO] [stderr] --> src/eval.rs:317:1 [INFO] [stderr] | [INFO] [stderr] 317 | fn check_arg_num(func_name: &str,exps: &Vec) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `search_func` [INFO] [stderr] --> src/eval.rs:333:1 [INFO] [stderr] | [INFO] [stderr] 333 | fn search_func(name: String,env: &Env) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `search_val` [INFO] [stderr] --> src/eval.rs:343:1 [INFO] [stderr] | [INFO] [stderr] 343 | fn search_val(name: String,env: &Env) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `check_type` [INFO] [stderr] --> src/eval.rs:353:1 [INFO] [stderr] | [INFO] [stderr] 353 | fn check_type(target: &Object,expected: &Typ) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `start_itl` [INFO] [stderr] --> src/interactive.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn start_itl() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `exec_file` [INFO] [stderr] --> src/interactive.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | fn exec_file(filename: &str){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `init_repl` [INFO] [stderr] --> src/interactive.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | fn init_repl(){ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `execute` [INFO] [stderr] --> src/interactive.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | fn execute(s: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Constant` [INFO] [stderr] --> src/vm.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Constant(Opcode), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Pop` [INFO] [stderr] --> src/vm.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Pop(Opcode), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Push` [INFO] [stderr] --> src/vm.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Push(Opcode), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Add` [INFO] [stderr] --> src/vm.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Add(Opcode,Object,Object), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct is never constructed: `State` [INFO] [stderr] --> src/compiler.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `new` [INFO] [stderr] --> src/compiler.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | fn new() -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `add_constant` [INFO] [stderr] --> src/compiler.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | fn add_constant(&mut self,obj: Object) -> usize { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compile` [INFO] [stderr] --> src/compiler.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn compile(p: Prog) -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `process_stmt` [INFO] [stderr] --> src/compiler.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | fn process_stmt(state: State,stmt: Stmt) -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `process_exp` [INFO] [stderr] --> src/compiler.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | fn process_exp(mut state: State,exp: &Exp) -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Int` [INFO] [stderr] --> src/object.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | Int(i64), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `String` [INFO] [stderr] --> src/object.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | String(String), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Bool` [INFO] [stderr] --> src/object.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Bool(bool), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Struct` [INFO] [stderr] --> src/object.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Struct(String,HashMap), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NoneObj` [INFO] [stderr] --> src/object.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | NoneObj, [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | write_to_file(&result); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] warning: unused variable: `code` [INFO] [stderr] --> src/main.rs:26:9 [INFO] [stderr] | [INFO] [stderr] 26 | let code = "let a = 1 [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_code` [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] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:59:26 [INFO] [stderr] | [INFO] [stderr] 59 | [Token::FUNCTION,rest..] => parse_function(tokens), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:64:36 [INFO] [stderr] | [INFO] [stderr] 64 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:68:24 [INFO] [stderr] | [INFO] [stderr] 68 | [Token::STRUCT,rest..] => parse_struct(tokens), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:69:24 [INFO] [stderr] | [INFO] [stderr] 69 | [Token::LBRACE,rest..] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:83:21 [INFO] [stderr] | [INFO] [stderr] 83 | [Token::LET,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:84:26 [INFO] [stderr] | [INFO] [stderr] 84 | [Token::FUNCTION,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:86:24 [INFO] [stderr] | [INFO] [stderr] 86 | [Token::RETURN,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:87:24 [INFO] [stderr] | [INFO] [stderr] 87 | [Token::STRUCT,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:88:24 [INFO] [stderr] | [INFO] [stderr] 88 | [Token::LBRACE,rest..] => CheckNext::Stmt, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:89:22 [INFO] [stderr] | [INFO] [stderr] 89 | [Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:90:20 [INFO] [stderr] | [INFO] [stderr] 90 | [Token::IF,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/parser.rs:91:21 [INFO] [stderr] | [INFO] [stderr] 91 | [Token::INT(i),rest..] => CheckNext::Expr, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:91:24 [INFO] [stderr] | [INFO] [stderr] 91 | [Token::INT(i),rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:92:36 [INFO] [stderr] | [INFO] [stderr] 92 | [Token::VAR(s),Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/parser.rs:92:21 [INFO] [stderr] | [INFO] [stderr] 92 | [Token::VAR(s),Token::LPAR,rest..] => CheckNext::Expr, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:93:24 [INFO] [stderr] | [INFO] [stderr] 93 | [Token::VAR(s),rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/parser.rs:93:21 [INFO] [stderr] | [INFO] [stderr] 93 | [Token::VAR(s),rest..] => CheckNext::Expr, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:94:28 [INFO] [stderr] | [INFO] [stderr] 94 | [Token::STRING(s), rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/parser.rs:94:24 [INFO] [stderr] | [INFO] [stderr] 94 | [Token::STRING(s), rest..] => CheckNext::Expr, [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:95:21 [INFO] [stderr] | [INFO] [stderr] 95 | [Token::NOT,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:96:22 [INFO] [stderr] | [INFO] [stderr] 96 | [Token::TRUE,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:97:23 [INFO] [stderr] | [INFO] [stderr] 97 | [Token::FALSE,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:98:26 [INFO] [stderr] | [INFO] [stderr] 98 | [Token::LBRACKET,rest..] => CheckNext::Expr, [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:162:22 [INFO] [stderr] | [INFO] [stderr] 162 | [Token::RPAR,rest..] => (tokens,args.to_vec()), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `s` [INFO] [stderr] --> src/parser.rs:174:21 [INFO] [stderr] | [INFO] [stderr] 174 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_s` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:189:22 [INFO] [stderr] | [INFO] [stderr] 189 | [Token::RPAR,rest..] => (tokens, args.to_vec()), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:211:24 [INFO] [stderr] | [INFO] [stderr] 211 | [Token::LBRACE,rest..] => (tokens,Typ::VoidTyp), [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:287:36 [INFO] [stderr] | [INFO] [stderr] 287 | [Token::VAR(s),Token::LPAR,rest..] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:332:10 [INFO] [stderr] | [INFO] [stderr] 332 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:339:10 [INFO] [stderr] | [INFO] [stderr] 339 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:346:10 [INFO] [stderr] | [INFO] [stderr] 346 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:353:10 [INFO] [stderr] | [INFO] [stderr] 353 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:360:10 [INFO] [stderr] | [INFO] [stderr] 360 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:368:14 [INFO] [stderr] | [INFO] [stderr] 368 | let (rest, exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `exp` [INFO] [stderr] --> src/parser.rs:368:20 [INFO] [stderr] | [INFO] [stderr] 368 | let (rest, exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_exp` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:377:10 [INFO] [stderr] | [INFO] [stderr] 377 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:384:10 [INFO] [stderr] | [INFO] [stderr] 384 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:391:10 [INFO] [stderr] | [INFO] [stderr] 391 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:398:10 [INFO] [stderr] | [INFO] [stderr] 398 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:405:10 [INFO] [stderr] | [INFO] [stderr] 405 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:412:10 [INFO] [stderr] | [INFO] [stderr] 412 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:420:10 [INFO] [stderr] | [INFO] [stderr] 420 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:427:10 [INFO] [stderr] | [INFO] [stderr] 427 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:434:10 [INFO] [stderr] | [INFO] [stderr] 434 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:441:10 [INFO] [stderr] | [INFO] [stderr] 441 | let (rest,stmt) = parse_stmt(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:450:10 [INFO] [stderr] | [INFO] [stderr] 450 | let (rest, exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:457:10 [INFO] [stderr] | [INFO] [stderr] 457 | let (rest, exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:465:10 [INFO] [stderr] | [INFO] [stderr] 465 | let (rest,exp) = parse_exp(&tokens); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:472:10 [INFO] [stderr] | [INFO] [stderr] 472 | let (rest, stmts) = parse_stmts(&tokens,&mut vec![]); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:479:10 [INFO] [stderr] | [INFO] [stderr] 479 | let (rest, stmts) = parse_stmts(&tokens,&mut vec![]); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:486:10 [INFO] [stderr] | [INFO] [stderr] 486 | let (rest, stmts) = parse_stmts(&tokens,&mut vec![]); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/parser.rs:494:10 [INFO] [stderr] | [INFO] [stderr] 494 | let (rest, stmts) = parse_stmts(&tokens,&mut vec![]); [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obj` [INFO] [stderr] --> src/eval.rs:26:56 [INFO] [stderr] | [INFO] [stderr] 26 | p.stmts.into_iter().fold((Object::NoneObj,env), |(obj,e),current| [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_obj` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obj` [INFO] [stderr] --> src/eval.rs:52:82 [INFO] [stderr] | [INFO] [stderr] 52 | let (obj,e) = stmts.into_iter().fold((Object::NoneObj,local_env), |(obj,e),current| [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_obj` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/eval.rs:52:22 [INFO] [stderr] | [INFO] [stderr] 52 | let (obj,e) = stmts.into_iter().fold((Object::NoneObj,local_env), |(obj,e),current| [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `rest` [INFO] [stderr] --> src/eval.rs:85:28 [INFO] [stderr] | [INFO] [stderr] 85 | [Stmt::Return(exp),rest..] => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_rest` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `obj` [INFO] [stderr] --> src/eval.rs:93:18 [INFO] [stderr] | [INFO] [stderr] 93 | let (obj,env) = eval_stmt(first.clone(), env.clone()); [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_obj` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/eval.rs:355:21 [INFO] [stderr] | [INFO] [stderr] 355 | Object::Int(i) => match expected { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/eval.rs:359:23 [INFO] [stderr] | [INFO] [stderr] 359 | Object::Bool(i) => match expected { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `e` [INFO] [stderr] --> src/interactive.rs:62:14 [INFO] [stderr] | [INFO] [stderr] 62 | let (obj,e) = eval::eval_prog(ast,env); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_e` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `int_index` [INFO] [stderr] --> src/compiler.rs:45:17 [INFO] [stderr] | [INFO] [stderr] 45 | let int_index = state.add_constant(Object::Int(i.clone())); [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_int_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ret` [INFO] [stderr] --> src/gen_x86.rs:61:53 [INFO] [stderr] | [INFO] [stderr] 61 | fn gen_func_dec(name: &str, args: &[(String, Typ)], ret: &Typ, body: &Stmt) -> String { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_ret` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `current` [INFO] [stderr] --> src/gen_x86.rs:101:45 [INFO] [stderr] | [INFO] [stderr] 101 | .fold("".to_string(), |acm, current| acm + "\nmov rdi, 1"); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_current` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/interactive.rs:57:9 [INFO] [stderr] | [INFO] [stderr] 57 | let mut env = eval::init_env(); [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_mut)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `IndexedVar` [INFO] [stderr] --> src/ast.rs:33:5 [INFO] [stderr] | [INFO] [stderr] 33 | IndexedVar(Box,Exp) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NilStmt` [INFO] [stderr] --> src/ast.rs:45:5 [INFO] [stderr] | [INFO] [stderr] 45 | NilStmt [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `ArrayTyp` [INFO] [stderr] --> src/ast.rs:62:5 [INFO] [stderr] | [INFO] [stderr] 62 | ArrayTyp(i64,Box), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method is never used: `size` [INFO] [stderr] --> src/ast.rs:77:5 [INFO] [stderr] | [INFO] [stderr] 77 | pub fn size(&self) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NULL` [INFO] [stderr] --> src/lexer.rs:14:5 [INFO] [stderr] | [INFO] [stderr] 14 | NULL, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_str` [INFO] [stderr] --> src/lexer.rs:40:1 [INFO] [stderr] | [INFO] [stderr] 40 | fn get_str(str_vec: &[char]) -> (String, &[char]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `get_str_sub` [INFO] [stderr] --> src/lexer.rs:44:1 [INFO] [stderr] | [INFO] [stderr] 44 | fn get_str_sub(str_vec: &[char],acm: String) -> (String,&[char]) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `start_itl` [INFO] [stderr] --> src/interactive.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub fn start_itl() { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `exec_file` [INFO] [stderr] --> src/interactive.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | fn exec_file(filename: &str){ [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `init_repl` [INFO] [stderr] --> src/interactive.rs:32:1 [INFO] [stderr] | [INFO] [stderr] 32 | fn init_repl(){ [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `execute` [INFO] [stderr] --> src/interactive.rs:56:1 [INFO] [stderr] | [INFO] [stderr] 56 | fn execute(s: &str) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Constant` [INFO] [stderr] --> src/vm.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | Constant(Opcode), [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Pop` [INFO] [stderr] --> src/vm.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | Pop(Opcode), [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Push` [INFO] [stderr] --> src/vm.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | Push(Opcode), [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Add` [INFO] [stderr] --> src/vm.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Add(Opcode,Object,Object), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never used: `instructions` [INFO] [stderr] --> src/compiler.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | instructions: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `compile` [INFO] [stderr] --> src/compiler.rs:28:1 [INFO] [stderr] | [INFO] [stderr] 28 | pub fn compile(p: Prog) -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `process_stmt` [INFO] [stderr] --> src/compiler.rs:35:1 [INFO] [stderr] | [INFO] [stderr] 35 | fn process_stmt(state: State,stmt: Stmt) -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `process_exp` [INFO] [stderr] --> src/compiler.rs:42:1 [INFO] [stderr] | [INFO] [stderr] 42 | fn process_exp(mut state: State,exp: &Exp) -> State { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `String` [INFO] [stderr] --> src/object.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | String(String), [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Struct` [INFO] [stderr] --> src/object.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | Struct(String,HashMap), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `std::result::Result` that must be used [INFO] [stderr] --> src/main.rs:38:5 [INFO] [stderr] | [INFO] [stderr] 38 | write_to_file(&result); [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] Finished dev [unoptimized + debuginfo] target(s) in 1.49s [INFO] running `"docker" "inspect" "0161d08d06185fe1ecc4007c2217657cba6c26b57818033a710c01efa64c2076"` [INFO] running `"docker" "rm" "-f" "0161d08d06185fe1ecc4007c2217657cba6c26b57818033a710c01efa64c2076"` [INFO] [stdout] 0161d08d06185fe1ecc4007c2217657cba6c26b57818033a710c01efa64c2076