[INFO] updating cached repository cdouglass/samara [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/cdouglass/samara [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/cdouglass/samara" "work/ex/beta-1.38-1/sources/1.37.0/gh/cdouglass/samara"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/1.37.0/gh/cdouglass/samara'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/cdouglass/samara" "work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/cdouglass/samara"` [INFO] [stderr] Cloning into 'work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/cdouglass/samara'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 892b95e8db28cb5e51b578700822422092b2909f [INFO] sha for GitHub repo cdouglass/samara: 892b95e8db28cb5e51b578700822422092b2909f [INFO] validating manifest of cdouglass/samara 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 cdouglass/samara 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 cdouglass/samara [INFO] finished frobbing cdouglass/samara [INFO] frobbed toml for cdouglass/samara written to work/ex/beta-1.38-1/sources/1.37.0/gh/cdouglass/samara/Cargo.toml [INFO] started frobbing cdouglass/samara [INFO] finished frobbing cdouglass/samara [INFO] frobbed toml for cdouglass/samara written to work/ex/beta-1.38-1/sources/beta-2019-08-13/gh/cdouglass/samara/Cargo.toml [INFO] crate cdouglass/samara 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 cdouglass/samara against 1.37.0 for beta-1.38-1 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-2/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/cdouglass/samara:/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" "+1.37.0" "build" "--frozen"` [INFO] [stdout] e67896ab9f2573ca174c75384c2782ba75bfec18078344ca765f98c9ce080465 [INFO] running `"docker" "start" "-a" "e67896ab9f2573ca174c75384c2782ba75bfec18078344ca765f98c9ce080465"` [INFO] [stderr] Compiling pulldown-cmark v0.1.0 [INFO] [stderr] Compiling error-chain v0.11.0 [INFO] [stderr] Compiling rand v0.3.16 [INFO] [stderr] Compiling tempdir v0.3.5 [INFO] [stderr] Compiling skeptic v0.13.0 [INFO] [stderr] Compiling samara v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lex/expr.rs:141:66 [INFO] [stderr] | [INFO] [stderr] 141 | fn update_if_match(s: &mut String, ch: Option, predicate: &Fn(char) -> bool, it: &mut Peekable) -> 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: unnecessary parentheses around method argument [INFO] [stderr] --> src/structures/patterns.rs:46:46 [INFO] [stderr] | [INFO] [stderr] 46 | patterns.iter().fold(vec![], (|mut v, pat| { [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 47 | | v.extend(pat.identifiers()); [INFO] [stderr] 48 | | v})) [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 46 | patterns.iter().fold(vec![], |mut v, pat| { [INFO] [stderr] 47 | v.extend(pat.identifiers()); [INFO] [stderr] 48 | v}) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 17.88s [INFO] running `"docker" "inspect" "e67896ab9f2573ca174c75384c2782ba75bfec18078344ca765f98c9ce080465"` [INFO] running `"docker" "rm" "-f" "e67896ab9f2573ca174c75384c2782ba75bfec18078344ca765f98c9ce080465"` [INFO] [stdout] e67896ab9f2573ca174c75384c2782ba75bfec18078344ca765f98c9ce080465 [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-2/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/cdouglass/samara:/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" "+1.37.0" "test" "--frozen" "--no-run"` [INFO] [stdout] b5dbcdf7bf8fd64f43114bf032c77c82dd19f1cc0a15c22e88e971dab55b3c7b [INFO] running `"docker" "start" "-a" "b5dbcdf7bf8fd64f43114bf032c77c82dd19f1cc0a15c22e88e971dab55b3c7b"` [INFO] [stderr] Compiling samara v0.1.0 (/opt/crater/workdir) [INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated [INFO] [stderr] --> src/lex/expr.rs:141:66 [INFO] [stderr] | [INFO] [stderr] 141 | fn update_if_match(s: &mut String, ch: Option, predicate: &Fn(char) -> bool, it: &mut Peekable) -> 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: unnecessary parentheses around method argument [INFO] [stderr] --> src/structures/patterns.rs:46:46 [INFO] [stderr] | [INFO] [stderr] 46 | patterns.iter().fold(vec![], (|mut v, pat| { [INFO] [stderr] | ______________________________________________^ [INFO] [stderr] 47 | | v.extend(pat.identifiers()); [INFO] [stderr] 48 | | v})) [INFO] [stderr] | |_______________________^ [INFO] [stderr] | [INFO] [stderr] = note: #[warn(unused_parens)] on by default [INFO] [stderr] help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] 46 | patterns.iter().fold(vec![], |mut v, pat| { [INFO] [stderr] 47 | v.extend(pat.identifiers()); [INFO] [stderr] 48 | v}) [INFO] [stderr] | [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/parse/decl.rs:199:67 [INFO] [stderr] | [INFO] [stderr] 199 | assert_parses_type("Int -> Bool -> Int", arrow(Type::Int, (arrow(Type::Bool, Type::Int)))); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/tests.rs:14:38 [INFO] [stderr] | [INFO] [stderr] 14 | fn assert_evaluation_err(expr: &str, mut bindings: &mut Vec, mut gen: &mut GenTypeVar, msg: &str) { [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/tests.rs:14:74 [INFO] [stderr] | [INFO] [stderr] 14 | fn assert_evaluation_err(expr: &str, mut bindings: &mut Vec, mut gen: &mut GenTypeVar, msg: &str) { [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/tests.rs:24:90 [INFO] [stderr] | [INFO] [stderr] 24 | fn assert_evaluates_to_atom_with_context(expr: &str, mut bindings: &mut Vec, mut gen: &mut GenTypeVar, sum_types: &SumTypeDefs, expected: Atom) { [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/tests.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | fn assert_evaluates_to_atom(expr: &str, mut bindings: &mut Vec, mut gen: &mut GenTypeVar, expected: Atom) { [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/tests.rs:34:77 [INFO] [stderr] | [INFO] [stderr] 34 | fn assert_evaluates_to_atom(expr: &str, mut bindings: &mut Vec, mut gen: &mut GenTypeVar, expected: Atom) { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 4.54s [INFO] running `"docker" "inspect" "b5dbcdf7bf8fd64f43114bf032c77c82dd19f1cc0a15c22e88e971dab55b3c7b"` [INFO] running `"docker" "rm" "-f" "b5dbcdf7bf8fd64f43114bf032c77c82dd19f1cc0a15c22e88e971dab55b3c7b"` [INFO] [stdout] b5dbcdf7bf8fd64f43114bf032c77c82dd19f1cc0a15c22e88e971dab55b3c7b [INFO] running `"docker" "create" "-v" "/mnt/big/crater/work/local/target-dirs/beta-1.38-1/worker-2/1.37.0:/opt/crater/target:rw,Z" "-v" "/mnt/big/crater/work/ex/beta-1.38-1/sources/1.37.0/gh/cdouglass/samara:/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" "+1.37.0" "test" "--frozen"` [INFO] [stdout] 6b97c2feadf8bcbe7a884141a8c0c268fe6ade961823df097769565877d7b5cb [INFO] running `"docker" "start" "-a" "6b97c2feadf8bcbe7a884141a8c0c268fe6ade961823df097769565877d7b5cb"` [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 0.02s [INFO] [stderr] Running /opt/crater/target/debug/deps/samara-6a44062b2e91c5fa [INFO] [stdout] [INFO] [stdout] running 79 tests [INFO] [stdout] test infer::tests::test_conditional_with_invalid_predicate ... ok [INFO] [stdout] test infer::tests::test_application_of_non_function ... ok [INFO] [stdout] test infer::tests::test_application_of_builtins ... ok [INFO] [stdout] test infer::tests::test_instantiate ... ok [INFO] [stdout] test infer::tests::test_conditional_with_mismatched_arms ... ok [INFO] [stdout] test infer::tests::test_polymorphic_let ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_infer_case_arg_type_from_patterns ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_atom_pattern ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_case_with_no_patterns ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_mismatched_argument ... ok [INFO] [stdout] test infer::tests::test_ill_typed_let_value_not_used_in_body ... ok [INFO] [stdout] test infer::tests::test_no_recursive_function_types ... ok [INFO] [stdout] test infer::tests::test_infer_base_types ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_infer_case_arg_type_from_nested_patterns ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_match_arm_using_bound_variable ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_mismatched_arms ... ok [INFO] [stdout] test infer::tests::test_identity ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_pattern_with_wrong_number_of_args ... ok [INFO] [stdout] test infer::tests::test_type_mismatch ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_sum_from_unary_constructor ... ok [INFO] [stdout] test infer::tests::test_universalize_type ... ok [INFO] [stdout] test infer::tests::test_type_vars_free_in ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_valid_case_expression ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_unary_constructor ... ok [INFO] [stdout] test lex::expr::tests::test_constructors ... ok [INFO] [stdout] test infer::tests::test_valid_conditional ... ok [INFO] [stdout] test parse::decl::tests::test_extra_close_paren_in_variant ... ok [INFO] [stdout] test lex::expr::tests::test_lex ... ok [INFO] [stdout] test parse::decl::tests::test_extra_close_paren ... ok [INFO] [stdout] test parse::decl::tests::test_missing_type_name ... ok [INFO] [stdout] test parse::decl::tests::test_parses_base_types ... ok [INFO] [stdout] test lex::decl::tests::test_individual_tokens ... ok [INFO] [stdout] test parse::decl::tests::test_parses_constructor_name ... ok [INFO] [stdout] test parse::decl::tests::test_invalid_left_side ... ok [INFO] [stdout] test parse::decl::tests::test_parses_function_type ... ok [INFO] [stdout] test parse::decl::tests::test_parses_nested_type ... ok [INFO] [stdout] test parse::decl::tests::test_parses_type_vars ... ok [INFO] [stdout] test parse::decl::tests::test_rejects_extra_eq ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_sum_from_nullary_constructor ... ok [INFO] [stdout] test parse::decl::tests::test_parses_type_var ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_sum_from_binary_constructor ... ok [INFO] [stdout] test parse::decl::tests::test_parses_nullary_sum_type ... ok [INFO] [stdout] test parse::decl::tests::test_parses_type_name ... ok [INFO] [stdout] test parse::decl::tests::test_unknown_sum_type ... ok [INFO] [stdout] test parse::expr::tests::test_empty_input ... ok [INFO] [stdout] test parse::expr::tests::test_invalid_constructor ... ok [INFO] [stdout] test parse::expr::tests::test_parses_constructor ... ok [INFO] [stdout] test parse::expr::tests::test_lambda_without_parens ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_nested_patterns ... ok [INFO] [stdout] test infer::tests::test_sum_types::test_mismatched_patterns ... ok [INFO] [stdout] test parse::expr::tests::test_parses_case ... ok [INFO] [stdout] test structures::patterns::tests::test_nested_irrefutable_pattern ... ok [INFO] [stdout] test structures::patterns::tests::test_nested_wildcard_pattern ... ok [INFO] [stdout] test parse::expr::tests::test_parses_lambda_application ... ok [INFO] [stdout] test structures::patterns::tests::test_wildcard_pattern ... ok [INFO] [stdout] test parse::expr::tests::test_unbalanced_delimiters ... ok [INFO] [stdout] test structures::patterns::tests::test_atom_pattern ... ok [INFO] [stdout] test structures::patterns::tests::test_sum_pattern ... ok [INFO] [stdout] test structures::patterns::tests::test_irrefutable_pattern ... ok [INFO] [stdout] test parse::expr::tests::test_parses_unit ... ok [INFO] [stdout] test structures::sums::tests::test_insert_valid_type ... ok [INFO] [stdout] test parse::expr::tests::test_unit_as_argument ... ok [INFO] [stdout] test structures::sums::tests::test_constructor_names_must_be_unique ... ok [INFO] [stdout] test structures::patterns::tests::test_nested_atom_pattern ... ok [INFO] [stdout] test tests::test_fully_apply_op ... ok [INFO] [stdout] test tests::test_missing_outer_parens ... ok [INFO] [stdout] test tests::test_binding_in_case_expression ... ok [INFO] [stdout] test tests::test_evaluate_int ... ok [INFO] [stdout] test tests::test_polymorphic_session_let ... ok [INFO] [stdout] test tests::test_evaluate_op ... ok [INFO] [stdout] test tests::test_factorial_with_let ... ok [INFO] [stdout] test tests::test_recursive_session_bindings ... ok [INFO] [stdout] test tests::test_evaluate_case_expression ... ok [INFO] [stdout] test tests::test_save_session_bindings ... ok [INFO] [stdout] test tests::test_too_many_arguments ... ok [INFO] [stdout] test tests::test_partially_apply_op ... ok [INFO] [stdout] test tests::test_type_of_using_session_bindings ... ok [INFO] [stdout] test tests::test_pair_type ... ok [INFO] [stdout] test tests::test_polymorphic_let ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 79 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running /opt/crater/target/debug/deps/samara-45aa417bcc1e8d60 [INFO] [stdout] running 0 tests [INFO] [stderr] Running /opt/crater/target/debug/deps/skeptic-2aba096349ad234b [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 10 tests [INFO] [stdout] test readme_sect_examples_line_37 ... ok [INFO] [stdout] test readme_sect_examples_line_46 ... ok [INFO] [stdout] test readme_sect_examples_line_77 ... ok [INFO] [stdout] test readme_sect_examples_line_70 ... ok [INFO] [stdout] test readme_sect_examples_line_57 ... ok [INFO] [stdout] test readme_sect_examples_line_104 ... ok [INFO] [stdout] test readme_sect_examples_line_28 ... ok [INFO] [stdout] test readme_sect_examples_line_124 ... ok [INFO] [stdout] test readme_sect_examples_line_84 ... ok [INFO] [stdout] test readme_sect_examples_line_91 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests samara [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "6b97c2feadf8bcbe7a884141a8c0c268fe6ade961823df097769565877d7b5cb"` [INFO] running `"docker" "rm" "-f" "6b97c2feadf8bcbe7a884141a8c0c268fe6ade961823df097769565877d7b5cb"` [INFO] [stdout] 6b97c2feadf8bcbe7a884141a8c0c268fe6ade961823df097769565877d7b5cb