[INFO] cloning repository vluzko/Grace [INFO] running `"git" "clone" "--bare" "git://github.com/vluzko/Grace.git" "work/cache/sources/gh/vluzko/Grace"` [INFO] [stderr] Cloning into bare repository 'work/cache/sources/gh/vluzko/Grace'... [INFO] running `"git" "clone" "work/cache/sources/gh/vluzko/Grace" "work/ex/pr-62008/sources/master#848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1/gh/vluzko/Grace"` [INFO] [stderr] Cloning into 'work/ex/pr-62008/sources/master#848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1/gh/vluzko/Grace'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/vluzko/Grace" "work/ex/pr-62008/sources/try#8f81d0bf6baf07b92f1246696722485c4ca0b049/gh/vluzko/Grace"` [INFO] [stderr] Cloning into 'work/ex/pr-62008/sources/try#8f81d0bf6baf07b92f1246696722485c4ca0b049/gh/vluzko/Grace'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 77bd1b4067e17e55d275a5b6cc16443940ae753a [INFO] sha for GitHub repo vluzko/Grace: 77bd1b4067e17e55d275a5b6cc16443940ae753a [INFO] validating manifest of vluzko/Grace on toolchain master#848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1 [INFO] running `"/mnt/big/ec2-user/crater/work/local/cargo-home/bin/cargo" "+848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of vluzko/Grace on toolchain try#8f81d0bf6baf07b92f1246696722485c4ca0b049 [INFO] running `"/mnt/big/ec2-user/crater/work/local/cargo-home/bin/cargo" "+8f81d0bf6baf07b92f1246696722485c4ca0b049-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing vluzko/Grace [INFO] finished frobbing vluzko/Grace [INFO] frobbed toml for vluzko/Grace written to work/ex/pr-62008/sources/master#848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1/gh/vluzko/Grace/Cargo.toml [INFO] started frobbing vluzko/Grace [INFO] finished frobbing vluzko/Grace [INFO] frobbed toml for vluzko/Grace written to work/ex/pr-62008/sources/try#8f81d0bf6baf07b92f1246696722485c4ca0b049/gh/vluzko/Grace/Cargo.toml [INFO] crate vluzko/Grace already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/ec2-user/crater/work/local/cargo-home/bin/cargo" "+848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded cached v0.8.0 [INFO] running `"/mnt/big/ec2-user/crater/work/local/cargo-home/bin/cargo" "+8f81d0bf6baf07b92f1246696722485c4ca0b049-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking vluzko/Grace against master#848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1 for pr-62008 [INFO] running `"docker" "create" "-v" "/mnt/big/ec2-user/crater/work/local/target-dirs/pr-62008/worker-6/master#848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1:/opt/crater/target:rw,Z" "-v" "/mnt/big/ec2-user/crater/work/ex/pr-62008/sources/master#848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1/gh/vluzko/Grace:/opt/crater/workdir:ro,Z" "-v" "/mnt/big/ec2-user/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/big/ec2-user/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" "+848e0a23f34aaab3e4a974b031c86ef2a4e4fcc1-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] 304b875c6d669145b6b52baada5fcf13a6f6e18bd75b1a3723ca8d45a7e34bb7 [INFO] running `"docker" "start" "-a" "304b875c6d669145b6b52baada5fcf13a6f6e18bd75b1a3723ca8d45a7e34bb7"` [INFO] [stderr] Checking cute v0.3.0 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking rand v0.5.5 [INFO] [stderr] Checking lock_api v0.1.5 [INFO] [stderr] Checking nom v3.2.1 [INFO] [stderr] Checking parking_lot_core v0.3.1 [INFO] [stderr] Checking parking_lot v0.6.4 [INFO] [stderr] Checking once_cell v0.1.6 [INFO] [stderr] Checking cached v0.8.0 [INFO] [stderr] Checking grace v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/parser_utils.rs:125:1 [INFO] [stderr] | [INFO] [stderr] 125 | / macro_rules! ta( [INFO] [stderr] 126 | | ($i:expr, $tag: expr) => ({ [INFO] [stderr] 127 | | match tag!($i, $tag) { [INFO] [stderr] 128 | | // nom::ErrorKind(y) => panic!(), [INFO] [stderr] ... | [INFO] [stderr] 135 | | }); [INFO] [stderr] 136 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::BTreeSet` [INFO] [stderr] --> src/general_utils.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::BTreeSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/general_utils.rs:68:12 [INFO] [stderr] | [INFO] [stderr] 68 | if (a.contains_key(&k)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/parser.rs:1080:9 [INFO] [stderr] | [INFO] [stderr] 1080 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `scoping::*` [INFO] [stderr] --> src/expression.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use scoping::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/bytecode.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `compiler_layers` [INFO] [stderr] --> src/bytecode.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | use compiler_layers; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::Hash` [INFO] [stderr] --> src/scoping.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::hash::Hash; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `compiler_layers` [INFO] [stderr] --> src/scoping.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use compiler_layers; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/scoping.rs:138:16 [INFO] [stderr] | [INFO] [stderr] 138 | if (self.scopes.contains_key(&id)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/typing.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/typing.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `scoping::Scoped` [INFO] [stderr] --> src/typing.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use scoping::Scoped; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `compiler_layers` [INFO] [stderr] --> src/typing.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | use compiler_layers; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/typing.rs:147:12 [INFO] [stderr] | [INFO] [stderr] 147 | if (self == other) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: patterns aren't allowed in methods without bodies [INFO] [stderr] --> src/typing.rs:216:57 [INFO] [stderr] | [INFO] [stderr] 216 | fn resolve_types(&self, context: &scoping::Context, mut type_map: HashMap) -> (HashMap, Type); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(patterns_in_fns_without_body)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #35203 [INFO] [stderr] [INFO] [stderr] warning: unused import: `parser` [INFO] [stderr] --> src/compiler_layers.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use parser; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bytecode` [INFO] [stderr] --> src/compiler_layers.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use bytecode; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/lib.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_imports)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused macro definition [INFO] [stderr] --> src/parser_utils.rs:125:1 [INFO] [stderr] | [INFO] [stderr] 125 | / macro_rules! ta( [INFO] [stderr] 126 | | ($i:expr, $tag: expr) => ({ [INFO] [stderr] 127 | | match tag!($i, $tag) { [INFO] [stderr] 128 | | // nom::ErrorKind(y) => panic!(), [INFO] [stderr] ... | [INFO] [stderr] 135 | | }); [INFO] [stderr] 136 | | ); [INFO] [stderr] | |__^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_macros)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::BTreeSet` [INFO] [stderr] --> src/general_utils.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::BTreeSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/general_utils.rs:68:12 [INFO] [stderr] | [INFO] [stderr] 68 | if (a.contains_key(&k)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/parser.rs:1080:9 [INFO] [stderr] | [INFO] [stderr] 1080 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `scoping::*` [INFO] [stderr] --> src/expression.rs:6:5 [INFO] [stderr] | [INFO] [stderr] 6 | use scoping::*; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/bytecode.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parser` [INFO] [stderr] --> src/bytecode.rs:266:9 [INFO] [stderr] | [INFO] [stderr] 266 | use parser; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `parser_utils::*` [INFO] [stderr] --> src/bytecode.rs:267:9 [INFO] [stderr] | [INFO] [stderr] 267 | use parser_utils::*; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `typing::Typed` [INFO] [stderr] --> src/bytecode.rs:268:9 [INFO] [stderr] | [INFO] [stderr] 268 | use typing::Typed; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::hash::Hash` [INFO] [stderr] --> src/scoping.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::hash::Hash; [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/scoping.rs:138:16 [INFO] [stderr] | [INFO] [stderr] 138 | if (self.scopes.contains_key(&id)) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashSet` [INFO] [stderr] --> src/typing.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use std::collections::HashSet; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::iter::FromIterator` [INFO] [stderr] --> src/typing.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::iter::FromIterator; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/typing.rs:147:12 [INFO] [stderr] | [INFO] [stderr] 147 | if (self == other) { [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: patterns aren't allowed in methods without bodies [INFO] [stderr] --> src/typing.rs:216:57 [INFO] [stderr] | [INFO] [stderr] 216 | fn resolve_types(&self, context: &scoping::Context, mut type_map: HashMap) -> (HashMap, Type); [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(patterns_in_fns_without_body)] on by default [INFO] [stderr] = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release! [INFO] [stderr] = note: for more information, see issue #35203 [INFO] [stderr] [INFO] [stderr] warning: unused import: `parser` [INFO] [stderr] --> src/compiler_layers.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use parser; [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `bytecode` [INFO] [stderr] --> src/compiler_layers.rs:11:5 [INFO] [stderr] | [INFO] [stderr] 11 | use bytecode; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `not_result` [INFO] [stderr] --> src/parser.rs:974:9 [INFO] [stderr] | [INFO] [stderr] 974 | let not_result: IResult<&[u8], (&[u8], Vec<&[u8]>)> = pair!(input, [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_not_result` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `arg_types` [INFO] [stderr] --> src/bytecode.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | let (arg_types, ret) = match type_map.get(&self.id).unwrap() { [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_arg_types` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/bytecode.rs:197:33 [INFO] [stderr] | [INFO] [stderr] 197 | fn generate_bytecode(&self, context: &Context, type_map: &mut HashMap) -> String { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_map` [INFO] [stderr] --> src/bytecode.rs:197:52 [INFO] [stderr] | [INFO] [stderr] 197 | fn generate_bytecode(&self, context: &Context, type_map: &mut HashMap) -> String { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_type_map` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/bytecode.rs:255:33 [INFO] [stderr] | [INFO] [stderr] 255 | fn generate_bytecode(&self, context: &Context, type_map: &mut HashMap) -> String { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_map` [INFO] [stderr] --> src/bytecode.rs:255:52 [INFO] [stderr] | [INFO] [stderr] 255 | fn generate_bytecode(&self, context: &Context, type_map: &mut HashMap) -> String { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_type_map` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/scoping.rs:161:30 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn get_parent(&self, context: &Context) -> Option<&Scope> { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/scoping.rs:176:37 [INFO] [stderr] | [INFO] [stderr] 176 | fn get_true_declarations(&self, context: &Context) -> HashSet { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/scoping.rs:195:14 [INFO] [stderr] | [INFO] [stderr] 195 | for (i, stmt) in self.data.declarations.iter_mut().enumerate() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/scoping.rs:247:14 [INFO] [stderr] | [INFO] [stderr] 247 | for (i, stmt) in self.data.statements.iter_mut().enumerate() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `typed_name` [INFO] [stderr] --> src/scoping.rs:300:27 [INFO] [stderr] | [INFO] [stderr] 300 | Stmt::LetStmt{typed_name, expression} => { [INFO] [stderr] | ^^^^^^^^^^ help: try ignoring the field: `typed_name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/scoping.rs:304:34 [INFO] [stderr] | [INFO] [stderr] 304 | Stmt::AssignmentStmt{name, expression, ..} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kwargs` [INFO] [stderr] --> src/scoping.rs:308:55 [INFO] [stderr] | [INFO] [stderr] 308 | Stmt::FunctionDecStmt{name, args, vararg, kwargs, varkwarg, ref mut block, return_type} => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `kwargs: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/scoping.rs:308:35 [INFO] [stderr] | [INFO] [stderr] 308 | Stmt::FunctionDecStmt{name, args, vararg, kwargs, varkwarg, ref mut block, return_type} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `return_type` [INFO] [stderr] --> src/scoping.rs:308:88 [INFO] [stderr] | [INFO] [stderr] 308 | Stmt::FunctionDecStmt{name, args, vararg, kwargs, varkwarg, ref mut block, return_type} => { [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `return_type: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/scoping.rs:419:37 [INFO] [stderr] | [INFO] [stderr] 419 | fn get_true_declarations(&self, context: &Context) -> HashSet { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `operator` [INFO] [stderr] --> src/scoping.rs:429:38 [INFO] [stderr] | [INFO] [stderr] 429 | Expr::BinaryExpr{ref mut operator, ref mut left, ref mut right} => { [INFO] [stderr] | --------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `operator: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/scoping.rs:505:34 [INFO] [stderr] | [INFO] [stderr] 505 | Stmt::ReturnStmt(name) => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/typing.rs:250:60 [INFO] [stderr] | [INFO] [stderr] 250 | scoping::CanModifyScope::Argument(ref ptr, ref index) => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptr` [INFO] [stderr] --> src/typing.rs:250:51 [INFO] [stderr] | [INFO] [stderr] 250 | scoping::CanModifyScope::Argument(ref ptr, ref index) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_ptr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/typing.rs:382:35 [INFO] [stderr] | [INFO] [stderr] 382 | let (mut new_map, t) = block.resolve_types(context, type_map); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/compiler_layers.rs:35:14 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn parse(input: &[u8]) -> expression::Node{ [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `not_result` [INFO] [stderr] --> src/parser.rs:974:9 [INFO] [stderr] | [INFO] [stderr] 974 | let not_result: IResult<&[u8], (&[u8], Vec<&[u8]>)> = pair!(input, [INFO] [stderr] | ^^^^^^^^^^ help: consider prefixing with an underscore: `_not_result` [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_variables)] on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `arg_types` [INFO] [stderr] --> src/bytecode.rs:56:22 [INFO] [stderr] | [INFO] [stderr] 56 | let (arg_types, ret) = match type_map.get(&self.id).unwrap() { [INFO] [stderr] | ^^^^^^^^^ help: consider prefixing with an underscore: `_arg_types` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/bytecode.rs:197:33 [INFO] [stderr] | [INFO] [stderr] 197 | fn generate_bytecode(&self, context: &Context, type_map: &mut HashMap) -> String { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_map` [INFO] [stderr] --> src/bytecode.rs:197:52 [INFO] [stderr] | [INFO] [stderr] 197 | fn generate_bytecode(&self, context: &Context, type_map: &mut HashMap) -> String { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_type_map` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/bytecode.rs:255:33 [INFO] [stderr] | [INFO] [stderr] 255 | fn generate_bytecode(&self, context: &Context, type_map: &mut HashMap) -> String { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `type_map` [INFO] [stderr] --> src/bytecode.rs:255:52 [INFO] [stderr] | [INFO] [stderr] 255 | fn generate_bytecode(&self, context: &Context, type_map: &mut HashMap) -> String { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_type_map` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/scoping.rs:161:30 [INFO] [stderr] | [INFO] [stderr] 161 | pub fn get_parent(&self, context: &Context) -> Option<&Scope> { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/scoping.rs:176:37 [INFO] [stderr] | [INFO] [stderr] 176 | fn get_true_declarations(&self, context: &Context) -> HashSet { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/scoping.rs:195:14 [INFO] [stderr] | [INFO] [stderr] 195 | for (i, stmt) in self.data.declarations.iter_mut().enumerate() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `i` [INFO] [stderr] --> src/scoping.rs:247:14 [INFO] [stderr] | [INFO] [stderr] 247 | for (i, stmt) in self.data.statements.iter_mut().enumerate() { [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_i` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `typed_name` [INFO] [stderr] --> src/scoping.rs:300:27 [INFO] [stderr] | [INFO] [stderr] 300 | Stmt::LetStmt{typed_name, expression} => { [INFO] [stderr] | ^^^^^^^^^^ help: try ignoring the field: `typed_name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/scoping.rs:304:34 [INFO] [stderr] | [INFO] [stderr] 304 | Stmt::AssignmentStmt{name, expression, ..} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `kwargs` [INFO] [stderr] --> src/scoping.rs:308:55 [INFO] [stderr] | [INFO] [stderr] 308 | Stmt::FunctionDecStmt{name, args, vararg, kwargs, varkwarg, ref mut block, return_type} => { [INFO] [stderr] | ^^^^^^ help: try ignoring the field: `kwargs: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/scoping.rs:308:35 [INFO] [stderr] | [INFO] [stderr] 308 | Stmt::FunctionDecStmt{name, args, vararg, kwargs, varkwarg, ref mut block, return_type} => { [INFO] [stderr] | ^^^^ help: try ignoring the field: `name: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `return_type` [INFO] [stderr] --> src/scoping.rs:308:88 [INFO] [stderr] | [INFO] [stderr] 308 | Stmt::FunctionDecStmt{name, args, vararg, kwargs, varkwarg, ref mut block, return_type} => { [INFO] [stderr] | ^^^^^^^^^^^ help: try ignoring the field: `return_type: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/scoping.rs:419:37 [INFO] [stderr] | [INFO] [stderr] 419 | fn get_true_declarations(&self, context: &Context) -> HashSet { [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `operator` [INFO] [stderr] --> src/scoping.rs:429:38 [INFO] [stderr] | [INFO] [stderr] 429 | Expr::BinaryExpr{ref mut operator, ref mut left, ref mut right} => { [INFO] [stderr] | --------^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: try ignoring the field: `operator: _` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `name` [INFO] [stderr] --> src/scoping.rs:505:34 [INFO] [stderr] | [INFO] [stderr] 505 | Stmt::ReturnStmt(name) => { [INFO] [stderr] | ^^^^ help: consider prefixing with an underscore: `_name` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `context` [INFO] [stderr] --> src/scoping.rs:530:13 [INFO] [stderr] | [INFO] [stderr] 530 | let context = func_stmt.gen_scopes(id, &init); [INFO] [stderr] | ^^^^^^^ help: consider prefixing with an underscore: `_context` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fn_node1` [INFO] [stderr] --> src/scoping.rs:585:21 [INFO] [stderr] | [INFO] [stderr] 585 | let fn_node1 = match fn1.extract_stmt() { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_fn_node1` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `fn_node2` [INFO] [stderr] --> src/scoping.rs:592:21 [INFO] [stderr] | [INFO] [stderr] 592 | let fn_node2 = match fn2.extract_stmt() { [INFO] [stderr] | ^^^^^^^^ help: consider prefixing with an underscore: `_fn_node2` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `index` [INFO] [stderr] --> src/typing.rs:250:60 [INFO] [stderr] | [INFO] [stderr] 250 | scoping::CanModifyScope::Argument(ref ptr, ref index) => { [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_index` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `ptr` [INFO] [stderr] --> src/typing.rs:250:51 [INFO] [stderr] | [INFO] [stderr] 250 | scoping::CanModifyScope::Argument(ref ptr, ref index) => { [INFO] [stderr] | ^^^ help: consider prefixing with an underscore: `_ptr` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `t` [INFO] [stderr] --> src/typing.rs:382:35 [INFO] [stderr] | [INFO] [stderr] 382 | let (mut new_map, t) = block.resolve_types(context, type_map); [INFO] [stderr] | ^ help: consider prefixing with an underscore: `_t` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `input` [INFO] [stderr] --> src/compiler_layers.rs:35:14 [INFO] [stderr] | [INFO] [stderr] 35 | pub fn parse(input: &[u8]) -> expression::Node{ [INFO] [stderr] | ^^^^^ help: consider prefixing with an underscore: `_input` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scoping.rs:188:13 [INFO] [stderr] | [INFO] [stderr] 188 | let mut new_scope = Scope{parent_id: Some(parent_id), declarations, declaration_order}; [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: variable does not need to be mutable [INFO] [stderr] --> src/scoping.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | let mut new_scope = Scope{parent_id: Some(parent_id), declarations, declaration_order}; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scoping.rs:340:21 [INFO] [stderr] | [INFO] [stderr] 340 | let mut new_scope = Scope{parent_id: Some(parent_id), declarations, declaration_order}; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:397:22 [INFO] [stderr] | [INFO] [stderr] 397 | let (mut new_map, _) = condition.resolve_types(context, type_map); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:403:22 [INFO] [stderr] | [INFO] [stderr] 403 | let (mut new_map, _) = condition.resolve_types(context, type_map); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:409:25 [INFO] [stderr] | [INFO] [stderr] 409 | let mut expr_map = expr.resolve_types(context, block_map).0; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:428:35 [INFO] [stderr] | [INFO] [stderr] 428 | Expr::ComparisonExpr {mut left, mut right, operator} => { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:428:45 [INFO] [stderr] | [INFO] [stderr] 428 | Expr::ComparisonExpr {mut left, mut right, operator} => { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scoping.rs:188:13 [INFO] [stderr] | [INFO] [stderr] 188 | let mut new_scope = Scope{parent_id: Some(parent_id), declarations, declaration_order}; [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: variable does not need to be mutable [INFO] [stderr] --> src/scoping.rs:241:13 [INFO] [stderr] | [INFO] [stderr] 241 | let mut new_scope = Scope{parent_id: Some(parent_id), declarations, declaration_order}; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/scoping.rs:340:21 [INFO] [stderr] | [INFO] [stderr] 340 | let mut new_scope = Scope{parent_id: Some(parent_id), declarations, declaration_order}; [INFO] [stderr] | ----^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:397:22 [INFO] [stderr] | [INFO] [stderr] 397 | let (mut new_map, _) = condition.resolve_types(context, type_map); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:403:22 [INFO] [stderr] | [INFO] [stderr] 403 | let (mut new_map, _) = condition.resolve_types(context, type_map); [INFO] [stderr] | ----^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:409:25 [INFO] [stderr] | [INFO] [stderr] 409 | let mut expr_map = expr.resolve_types(context, block_map).0; [INFO] [stderr] | ----^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:428:35 [INFO] [stderr] | [INFO] [stderr] 428 | Expr::ComparisonExpr {mut left, mut right, operator} => { [INFO] [stderr] | ----^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/typing.rs:428:45 [INFO] [stderr] | [INFO] [stderr] 428 | Expr::ComparisonExpr {mut left, mut right, operator} => { [INFO] [stderr] | ----^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never used: `b` [INFO] [stderr] --> src/scoping.rs:668:9 [INFO] [stderr] | [INFO] [stderr] 668 | b: f64 [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(dead_code)] on by default [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 16.31s [INFO] running `"docker" "inspect" "304b875c6d669145b6b52baada5fcf13a6f6e18bd75b1a3723ca8d45a7e34bb7"` [INFO] running `"docker" "rm" "-f" "304b875c6d669145b6b52baada5fcf13a6f6e18bd75b1a3723ca8d45a7e34bb7"` [INFO] [stdout] 304b875c6d669145b6b52baada5fcf13a6f6e18bd75b1a3723ca8d45a7e34bb7