[INFO] updating cached repository marioidival/apl [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/marioidival/apl [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/marioidival/apl" "work/ex/beta-1.38-1/sources/1.37.0/gh/marioidival/apl"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/marioidival/apl'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/marioidival/apl" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/marioidival/apl"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/marioidival/apl'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 86e37077d9c62a8ce0854b043337cc332f9ab471 [INFO] sha for GitHub repo marioidival/apl: 86e37077d9c62a8ce0854b043337cc332f9ab471 [INFO] validating manifest of marioidival/apl on toolchain 1.37.0 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of marioidival/apl on toolchain beta-2019-08-13 [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing marioidival/apl [INFO] finished frobbing marioidival/apl [INFO] frobbed toml for marioidival/apl written to work/ex/beta-1.38-1/sources/1.37.0/gh/marioidival/apl/Cargo.toml [INFO] started frobbing marioidival/apl [INFO] finished frobbing marioidival/apl [INFO] frobbed toml for marioidival/apl written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/marioidival/apl/Cargo.toml [INFO] crate marioidival/apl already has a lockfile, it will not be regenerated [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+1.37.0" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/big/crater/work/local/cargo-home/bin/cargo" "+beta-2019-08-13" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] testing marioidival/apl against beta-2019-08-13 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-1/beta-2019-08-13:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/marioidival/apl:/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=warn" "-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" "+beta-2019-08-13" "build" "--frozen"` [INFO] [stdout] 752552d4818ccf2737e2615dca1f6185f364303e5b6a18437f9345ce36344228 [INFO] running `"docker" "start" "-a" "752552d4818ccf2737e2615dca1f6185f364303e5b6a18437f9345ce36344228"` [INFO] [stderr] Compiling apl v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tokenizer.rs:40:45 [INFO] [stderr] | [INFO] [stderr] 40 | fn advance_while(&mut self, condition: &Fn(char) -> bool) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(bare_trait_objects)]` on by default [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tokenizer.rs:46:38 [INFO] [stderr] | [INFO] [stderr] 46 | fn peek_check(&mut self, check: &Fn(char) -> bool) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tokenizer.rs:55:42 [INFO] [stderr] | [INFO] [stderr] 55 | fn peek_check_two(&mut self, cond1: &Fn(char) -> bool, cond2: &Fn(char) -> bool) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool` [INFO] [stderr] [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/tokenizer.rs:55:68 [INFO] [stderr] | [INFO] [stderr] 55 | fn peek_check_two(&mut self, cond1: &Fn(char) -> bool, cond2: &Fn(char) -> bool) -> bool { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Fn(char) -> bool` [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:240:9 [INFO] [stderr] | [INFO] [stderr] 240 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/tokenizer.rs:465:9 [INFO] [stderr] | [INFO] [stderr] 465 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `crate::ast::Comparison::In` [INFO] [stderr] --> src/ast.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::Comparison::In; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `BoolOp`, `Compare` [INFO] [stderr] --> src/ast.rs:2:30 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::ast::Expression::{BoolOp, Compare}; [INFO] [stderr] | ^^^^^^ ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `OperatorError` [INFO] [stderr] --> src/ast.rs:3:20 [INFO] [stderr] | [INFO] [stderr] 3 | use crate::error::{Error, OperatorError}; [INFO] [stderr] | ^^^^^ ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Primitive::*`, `Primitive` [INFO] [stderr] --> src/ast.rs:4:24 [INFO] [stderr] | [INFO] [stderr] 4 | use crate::primitive::{Primitive, Primitive::*}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Expression` [INFO] [stderr] --> src/parse.rs:2:48 [INFO] [stderr] | [INFO] [stderr] 2 | use crate::ast::{BooleanOperation, Comparison, Expression, Number, Operator, Statement, UnaryOperation}; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:57:38 [INFO] [stderr] | [INFO] [stderr] 57 | Integer(v) => Ok(Integer((-1 * *v))), [INFO] [stderr] | ^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/primitive.rs:58:34 [INFO] [stderr] | [INFO] [stderr] 58 | Float(v) => Ok(Float((-1.0 * *v))), [INFO] [stderr] | ^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/primitive.rs:228:9 [INFO] [stderr] | [INFO] [stderr] 228 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Keyword` [INFO] [stderr] --> src/interpreter.rs:1:95 [INFO] [stderr] | [INFO] [stderr] 1 | use crate::ast::{BooleanOperation, Comparison, Expression, Operator, Program, UnaryOperation, Keyword}; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `itertools::Itertools` [INFO] [stderr] --> src/interpreter.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | use itertools::Itertools; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `super::*` [INFO] [stderr] --> src/object.rs:192:9 [INFO] [stderr] | [INFO] [stderr] 192 | use super::*; [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] error[E0308]: match arms have incompatible types [INFO] [stderr] --> src/parse.rs:142:30 [INFO] [stderr] | [INFO] [stderr] 110 | / match token { [INFO] [stderr] 111 | | Token::Less | Token::LessThan | Token::Greater | Token::GreaterThan | Token::BangEqual | Token::EqualEqual | Token::Is => { [INFO] [stderr] | __|___________________________________________________________________________________________________________________________________________- [INFO] [stderr] 112 | | | self.advance(); [INFO] [stderr] 113 | | | a = Some(ast::Expression::Compare { [INFO] [stderr] 114 | | | a: Box::new(a.unwrap()), [INFO] [stderr] ... | | [INFO] [stderr] 117 | | | }); [INFO] [stderr] 118 | | | } [INFO] [stderr] | |__|_________________- this is found to be of type `()` [INFO] [stderr] ... | [INFO] [stderr] 121 | / | if let Some(possible_factor) = a { [INFO] [stderr] 122 | | | a = Some(ast::Expression::BinOp { [INFO] [stderr] 123 | | | a: Box::new(possible_factor), [INFO] [stderr] 124 | | | op: Operator::from(token), [INFO] [stderr] ... | | [INFO] [stderr] 131 | | | }) [INFO] [stderr] 132 | | | } [INFO] [stderr] | |__|_____________________- this is found to be of type `()` [INFO] [stderr] ... | [INFO] [stderr] 136 | / | a = Some(ast::Expression::BoolOp { [INFO] [stderr] 137 | | | a: Box::new(a.unwrap()), [INFO] [stderr] 138 | | | op: BooleanOperation::from(token), [INFO] [stderr] 139 | | | b: Box::new(self.factor().unwrap()), [INFO] [stderr] 140 | | | }) [INFO] [stderr] | |__|______________________- this is found to be of type `()` [INFO] [stderr] 141 | | } [INFO] [stderr] 142 | | Token::Se => self.if_expression(), [INFO] [stderr] | | ^^^^^^^^^^^^^^^^^^^^ expected (), found enum `std::option::Option` [INFO] [stderr] ... | [INFO] [stderr] 152 | | } [INFO] [stderr] 153 | | } [INFO] [stderr] | |_____________- `match` arms have incompatible types [INFO] [stderr] | [INFO] [stderr] = note: expected type `()` [INFO] [stderr] found type `std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0308]: mismatched types [INFO] [stderr] --> src/parse.rs:215:28 [INFO] [stderr] | [INFO] [stderr] 215 | body: Box::new(body), [INFO] [stderr] | ^^^^ expected enum `ast::Expression`, found enum `ast::Statement` [INFO] [stderr] | [INFO] [stderr] = note: expected type `ast::Expression` [INFO] [stderr] found type `ast::Statement` [INFO] [stderr] [INFO] [stderr] error[E0061]: this function takes 1 parameter but 0 parameters were supplied [INFO] [stderr] --> src/parse.rs:216:21 [INFO] [stderr] | [INFO] [stderr] 216 | orelse: Box::new(), [INFO] [stderr] | ^^^^^^^^^^ expected 1 parameter [INFO] [stderr] [INFO] [stderr] warning: use of deprecated item 'core::str::::trim_right_matches': superseded by `trim_end_matches` [INFO] [stderr] --> src/builtin.rs:35:42 [INFO] [stderr] | [INFO] [stderr] 35 | Ok(Object::Primitive(Str(buf.trim_right_matches("\r\n").into()))) [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ help: replace the use of the deprecated item: `trim_end_matches` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] error: aborting due to 3 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0061, E0308. [INFO] [stderr] For more information about an error, try `rustc --explain E0061`. [INFO] [stderr] error: Could not compile `apl`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "752552d4818ccf2737e2615dca1f6185f364303e5b6a18437f9345ce36344228"` [INFO] running `"docker" "rm" "-f" "752552d4818ccf2737e2615dca1f6185f364303e5b6a18437f9345ce36344228"` [INFO] [stdout] 752552d4818ccf2737e2615dca1f6185f364303e5b6a18437f9345ce36344228