[INFO] cloning repository https://github.com/benbrunton/cardlang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/benbrunton/cardlang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenbrunton%2Fcardlang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenbrunton%2Fcardlang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 27742ae23445c886b28d98d9d2a0a8eb245f7e45 [INFO] testing benbrunton/cardlang against master#99e3aef02079e9c10583638520cd0c134dc3a01d for pr-85530 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbenbrunton%2Fcardlang" "/workspace/builds/worker-14/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-14/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/benbrunton/cardlang on toolchain 99e3aef02079e9c10583638520cd0c134dc3a01d [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/benbrunton/cardlang [INFO] finished tweaking git repo https://github.com/benbrunton/cardlang [INFO] tweaked toml for git repo https://github.com/benbrunton/cardlang written to /workspace/builds/worker-14/source/Cargo.toml [INFO] crate git repo https://github.com/benbrunton/cardlang already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7a15aa6459f7117b133aab38984fd0421e26d13f4d5cde74b49cf0c5bb3f2ad3 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7a15aa6459f7117b133aab38984fd0421e26d13f4d5cde74b49cf0c5bb3f2ad3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7a15aa6459f7117b133aab38984fd0421e26d13f4d5cde74b49cf0c5bb3f2ad3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7a15aa6459f7117b133aab38984fd0421e26d13f4d5cde74b49cf0c5bb3f2ad3", kill_on_drop: false }` [INFO] [stdout] 7a15aa6459f7117b133aab38984fd0421e26d13f4d5cde74b49cf0c5bb3f2ad3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] fdc6039586de9dbea724518a73777f98b2b123d93a1302f47cb5ca6e52565f5f [INFO] running `Command { std: "docker" "start" "-a" "fdc6039586de9dbea724518a73777f98b2b123d93a1302f47cb5ca6e52565f5f", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.94 [INFO] [stderr] Compiling getrandom v0.2.2 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.10 [INFO] [stderr] Compiling rand_core v0.6.2 [INFO] [stderr] Compiling rand_chacha v0.3.0 [INFO] [stderr] Compiling rand v0.8.3 [INFO] [stderr] Compiling cardlang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/runtime/mod.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 147 | let p_move = self.callbacks.player_move.as_ref().unwrap(); [INFO] [stdout] | -------------------------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 157 | self.handle_statements(&p_move.body.clone()); [INFO] [stdout] | ^^^^ ----------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/runtime/mod.rs:164:28 [INFO] [stdout] | [INFO] [stdout] 163 | match &self.callbacks.setup { [INFO] [stdout] | --------------------- immutable borrow occurs here [INFO] [stdout] 164 | Some(setup) => self.handle_statements(&setup.body.clone()), [INFO] [stdout] | ^^^^ ---------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function is never used: `filter` [INFO] [stdout] --> src/runtime/std.rs:26:8 [INFO] [stdout] | [INFO] [stdout] 26 | pub fn filter(stack: Vec, _function: Definition) -> Vec { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Number` [INFO] [stdout] --> src/runtime/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Number(usize), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 8.90s [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "fdc6039586de9dbea724518a73777f98b2b123d93a1302f47cb5ca6e52565f5f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fdc6039586de9dbea724518a73777f98b2b123d93a1302f47cb5ca6e52565f5f", kill_on_drop: false }` [INFO] [stdout] fdc6039586de9dbea724518a73777f98b2b123d93a1302f47cb5ca6e52565f5f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6f290db817accd844a2e663553d3a575ffd52b67b8fa712ca8dc5fd56ffd1672 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "6f290db817accd844a2e663553d3a575ffd52b67b8fa712ca8dc5fd56ffd1672", kill_on_drop: false }` [INFO] [stderr] Compiling cardlang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/runtime/mod.rs:157:9 [INFO] [stdout] | [INFO] [stdout] 147 | let p_move = self.callbacks.player_move.as_ref().unwrap(); [INFO] [stdout] | -------------------------- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 157 | self.handle_statements(&p_move.body.clone()); [INFO] [stdout] | ^^^^ ----------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/runtime/mod.rs:164:28 [INFO] [stdout] | [INFO] [stdout] 163 | match &self.callbacks.setup { [INFO] [stdout] | --------------------- immutable borrow occurs here [INFO] [stdout] 164 | Some(setup) => self.handle_statements(&setup.body.clone()), [INFO] [stdout] | ^^^^ ---------- immutable borrow later used here [INFO] [stdout] | | [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] | [INFO] [stdout] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stdout] = note: for more information, see issue #59159 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `Number` [INFO] [stdout] --> src/runtime/mod.rs:27:5 [INFO] [stdout] | [INFO] [stdout] 27 | Number(usize), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `returnStatement` should have a snake case name [INFO] [stdout] --> src/runtime/std.rs:38:13 [INFO] [stdout] | [INFO] [stdout] 38 | let returnStatement = Statement::ReturnStatement(ReturnStatement{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `return_statement` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable `returnStatement` should have a snake case name [INFO] [stdout] --> src/runtime/std.rs:55:13 [INFO] [stdout] | [INFO] [stdout] 55 | let returnStatement = Statement::ReturnStatement(ReturnStatement{ [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `return_statement` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 3.55s [INFO] running `Command { std: "docker" "inspect" "6f290db817accd844a2e663553d3a575ffd52b67b8fa712ca8dc5fd56ffd1672", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6f290db817accd844a2e663553d3a575ffd52b67b8fa712ca8dc5fd56ffd1672", kill_on_drop: false }` [INFO] [stdout] 6f290db817accd844a2e663553d3a575ffd52b67b8fa712ca8dc5fd56ffd1672 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-14/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:20528e8c29e4536546f0102ce88568b16ea7538393a33fcca951030f7af10457" "/opt/rustwide/cargo-home/bin/cargo" "+99e3aef02079e9c10583638520cd0c134dc3a01d" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 7bd2741987f37c088a3c95dd4ca7bd139ac3c63a59dd1444f9bb21a128641d9a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "7bd2741987f37c088a3c95dd4ca7bd139ac3c63a59dd1444f9bb21a128641d9a", kill_on_drop: false }` [INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/runtime/mod.rs:157:9 [INFO] [stderr] | [INFO] [stderr] 147 | let p_move = self.callbacks.player_move.as_ref().unwrap(); [INFO] [stderr] | -------------------------- immutable borrow occurs here [INFO] [stderr] ... [INFO] [stderr] 157 | self.handle_statements(&p_move.body.clone()); [INFO] [stderr] | ^^^^ ----------- immutable borrow later used here [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mutable_borrow_reservation_conflict)]` on by default [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: cannot borrow `*self` as mutable because it is also borrowed as immutable [INFO] [stderr] --> src/runtime/mod.rs:164:28 [INFO] [stderr] | [INFO] [stderr] 163 | match &self.callbacks.setup { [INFO] [stderr] | --------------------- immutable borrow occurs here [INFO] [stderr] 164 | Some(setup) => self.handle_statements(&setup.body.clone()), [INFO] [stderr] | ^^^^ ---------- immutable borrow later used here [INFO] [stderr] | | [INFO] [stderr] | mutable borrow occurs here [INFO] [stderr] | [INFO] [stderr] = warning: this borrowing pattern was not meant to be accepted, and may become a hard error in the future [INFO] [stderr] = note: for more information, see issue #59159 [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `Number` [INFO] [stderr] --> src/runtime/mod.rs:27:5 [INFO] [stderr] | [INFO] [stderr] 27 | Number(usize), [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `returnStatement` should have a snake case name [INFO] [stderr] --> src/runtime/std.rs:38:13 [INFO] [stderr] | [INFO] [stderr] 38 | let returnStatement = Statement::ReturnStatement(ReturnStatement{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `return_statement` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `returnStatement` should have a snake case name [INFO] [stderr] --> src/runtime/std.rs:55:13 [INFO] [stderr] | [INFO] [stderr] 55 | let returnStatement = Statement::ReturnStatement(ReturnStatement{ [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `return_statement` [INFO] [stderr] [INFO] [stderr] warning: 5 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.03s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/cardlang-3a87f8644f5f3744) [INFO] [stdout] [INFO] [stdout] running 100 tests [INFO] [stdout] test interpreter::test::check_stops_a_function_executing_when_expression_is_false ... ok [INFO] [stdout] test interpreter::test::check_passes_through_when_expression_is_true ... ok [INFO] [stdout] test interpreter::test::it_can_apply_a_winner_by_id ... ok [INFO] [stdout] test interpreter::test::it_can_access_built_in_functions ... ok [INFO] [stdout] test interpreter::test::it_can_compare_based_on_function_calls ... ok [INFO] [stdout] test interpreter::test::it_can_apply_a_winner ... ok [INFO] [stdout] test interpreter::test::it_can_handle_custom_stacks ... ok [INFO] [stdout] test interpreter::test::it_can_compare_based_on_function_calls_with_cards ... ok [INFO] [stdout] test interpreter::test::it_can_display_players ... ok [INFO] [stdout] test interpreter::test::it_can_show_a_winner_after_game_over ... ok [INFO] [stdout] test interpreter::test::it_can_display_a_single_player ... ok [INFO] [stdout] test interpreter::test::it_can_end_a_game ... ok [INFO] [stdout] test interpreter::test::it_can_show_multiple_player_hand ... ok [INFO] [stdout] test interpreter::test::it_can_show_info_about_the_game ... ok [INFO] [stdout] test interpreter::test::it_doesnt_move_when_game_over ... ok [INFO] [stdout] test interpreter::test::it_can_display_a_deck ... ok [INFO] [stdout] test interpreter::test::it_doesnt_move_when_game_hasnt_started ... ok [INFO] [stdout] test interpreter::test::it_passes_the_player_num_to_the_move ... ok [INFO] [stdout] test interpreter::test::it_passes_the_player_to_the_move_with_the_specified_argument_label ... ok [INFO] [stdout] test interpreter::test::it_can_display_a_name ... ok [INFO] [stdout] test interpreter::test::it_passes_the_player_to_the_move ... ok [INFO] [stdout] test interpreter::test::it_executes_if_statement_when_expression_is_true_comparison ... ok [INFO] [stdout] test interpreter::test::it_can_make_a_move ... ok [INFO] [stdout] test interpreter::test::it_executes_if_statement_when_expression_is_true_and_true ... ok [INFO] [stdout] test interpreter::test::it_can_rotate_current_player_back_to_first ... ok [INFO] [stdout] test interpreter::test::it_can_rotate_current_player ... ok [INFO] [stdout] test interpreter::test::it_executes_if_statement_when_expression_is_true ... ok [INFO] [stdout] test interpreter::test::it_can_show_player_hand ... ok [INFO] [stdout] test interpreter::test::it_deals_to_the_end_with_the_count_modifier ... ok [INFO] [stdout] test interpreter::test::it_doesnt_execute_if_statement_when_expression_is_false ... ok [INFO] [stdout] test lex::test::it_handles_brackets ... ok [INFO] [stdout] test interpreter::test::it_can_start_a_game ... ok [INFO] [stdout] test interpreter::test::second_start_restarts ... ok [INFO] [stdout] test lex::test::comments_can_contain_parens ... ok [INFO] [stdout] test lex::test::a_symbol_can_contain_an_attribute ... ok [INFO] [stdout] test lex::test::it_handles_numbers ... ok [INFO] [stdout] test lex::test::it_handles_open_parens ... ok [INFO] [stdout] test lex::test::it_recognises_an_arbitrary_symbol ... ok [INFO] [stdout] test lex::test::it_recognises_camel_case ... ok [INFO] [stdout] test lex::test::it_handles_check_and_is ... ok [INFO] [stdout] test lex::test::it_handles_transfer ... ok [INFO] [stdout] test lex::test::empty_string_is_not_a_valid_prog ... ok [INFO] [stdout] test lex::test::it_can_recognise_true_and_false ... ok [INFO] [stdout] test lex::test::it_ignores_comments ... ok [INFO] [stdout] test lex::test::it_handles_close_parens ... ok [INFO] [stdout] test interpreter::test::it_shows_current_player ... ok [INFO] [stdout] test lex::test::comments_can_be_multiline ... ok [INFO] [stdout] test lex::test::it_handles_comma ... ok [INFO] [stdout] test lex::test::it_recognises_function_calls ... ok [INFO] [stdout] test interpreter::test::it_shows_current_player_as_set ... ok [INFO] [stdout] test lex::test::it_recognises_the_ampersand ... ok [INFO] [stdout] test lex::test::newlines_are_tokenised ... ok [INFO] [stdout] test parse::test::deck_must_be_followed_by_a_symbol_or_transfer ... ok [INFO] [stdout] test parse::test::it_assigns_statements_to_an_if_statement ... ok [INFO] [stdout] test parse::test::it_can_handle_comparisons_in_if_statement ... ok [INFO] [stdout] test parse::test::it_can_handle_a_single_declaration ... ok [INFO] [stdout] test parse::test::it_can_handle_false_if_statements ... ok [INFO] [stdout] test parse::test::it_can_handle_func_calls_in_comparisons ... ok [INFO] [stdout] test parse::test::does_it_recognise_win_player_id ... ok [INFO] [stdout] test lex::test::it_recognises_keywords ... ok [INFO] [stdout] test parse::test::it_can_handle_function_body ... ok [INFO] [stdout] test parse::test::it_can_handle_if_statements ... ok [INFO] [stdout] test parse::test::it_can_handle_newlines ... ok [INFO] [stdout] test parse::test::it_can_parse_a_check_statement ... ok [INFO] [stdout] test parse::test::it_can_parse_a_check_statement_with_current_player ... ok [INFO] [stdout] test parse::test::it_can_parse_a_multiline_if_block ... ok [INFO] [stdout] test parse::test::it_can_parse_a_return_statement ... ok [INFO] [stdout] test parse::test::it_can_parse_an_and_statement ... ok [INFO] [stdout] test lex::test::it_recognises_the_stack_token ... ok [INFO] [stdout] test parse::test::it_can_recognise_function_calls ... ok [INFO] [stdout] test lex::test::it_handles_full_lines ... ok [INFO] [stdout] test parse::test::it_can_recognise_function_calls_with_no_arguments ... ok [INFO] [stdout] test lex::test::it_handles_if ... ok [INFO] [stdout] test parse::test::it_can_setup_a_simple_game ... ok [INFO] [stdout] test parse::test::it_insists_on_an_open_parens_for_check_condition ... ok [INFO] [stdout] test parse::test::it_parses_the_argument_of_a_function ... ok [INFO] [stdout] test parse::test::it_recognises_player_hand_to_deck_transfer ... ok [INFO] [stdout] test parse::test::it_recognises_stack_transfers ... ok [INFO] [stdout] test lex::test::symbols_cant_start_with_a_num ... ok [INFO] [stdout] test lex::test::it_recognises_the_return_keyword ... ok [INFO] [stdout] test parse::test::it_returns_a_parse_error_when_function_not_defined_correctly ... ok [INFO] [stdout] test parse::test::it_returns_a_line_number_on_more_errors ... ok [INFO] [stdout] test lex::test::it_recognises_the_deck_keyword ... ok [INFO] [stdout] test parse::test::it_returns_error_for_invalid_function_body ... ok [INFO] [stdout] test lex::test::it_recognises_the_name_token ... ok [INFO] [stdout] test parse::test::it_returns_error_for_incomplete_function_body ... ok [INFO] [stdout] test parse::test::it_returns_a_line_number_on_unexpected_end_of_stream ... ok [INFO] [stdout] test runtime::std::test::filter_executes_a_function_against_a_stack_and_keeps_cards_when_true ... ok [INFO] [stdout] test parse::test::it_returns_a_line_number_on_unexpected_token_after_symbol ... ok [INFO] [stdout] test lex::test::symbols_can_contain_a_num ... ok [INFO] [stdout] test lex::test::symbols_can_contain_underscores ... ok [INFO] [stdout] test lex::test::lex_errors_report_line_numbers ... ok [INFO] [stdout] test lex::test::lex_errors_report_line_numbers_accurately ... ok [INFO] [stdout] test parse::test::it_can_handle_numerical_declaration ... ok [INFO] [stdout] test parse::test::it_recognises_a_function_definition ... ok [INFO] [stdout] test parse::test::it_returns_a_line_number_on_errors ... ok [INFO] [stdout] test parse::test::it_can_parse_a_multiline_if_block_inside_a_func ... ok [INFO] [stdout] test parse::test::it_can_pass_a_count_to_transfer ... ok [INFO] [stdout] test runtime::transfer::test::it_can_handle_moving_stack_to_stack ... ok [INFO] [stderr] error: test failed, to rerun pass '--bin cardlang' [INFO] [stdout] test runtime::std::test::filter_executes_a_function_against_a_stack_and_keeps_cards_when_false ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- runtime::std::test::filter_executes_a_function_against_a_stack_and_keeps_cards_when_false stdout ---- [INFO] [stdout] thread 'runtime::std::test::filter_executes_a_function_against_a_stack_and_keeps_cards_when_false' panicked at 'assertion failed: `(left == right)` [INFO] [stdout] left: `52`, [INFO] [stdout] right: `0`', src/runtime/std.rs:66:9 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5598615a04a0 - std::backtrace_rs::backtrace::libunwind::trace::h1037ca7e6eeef65c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5 [INFO] [stdout] 1: 0x5598615a04a0 - std::backtrace_rs::backtrace::trace_unsynchronized::haaefac1bc3669450 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x5598615a04a0 - std::sys_common::backtrace::_print_fmt::h863a6f5e6d995885 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:67:5 [INFO] [stdout] 3: 0x5598615a04a0 - ::fmt::h767e17e1aa7df6a8 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:46:22 [INFO] [stdout] 4: 0x5598615c42fc - core::fmt::write::h7aa6cd0067dca82a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/fmt/mod.rs:1110:17 [INFO] [stdout] 5: 0x55986159d515 - std::io::Write::write_fmt::h6f1a9b91376a1376 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/io/mod.rs:1584:15 [INFO] [stdout] 6: 0x5598615a260b - std::sys_common::backtrace::_print::h2769edb26a7eb606 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:49:5 [INFO] [stdout] 7: 0x5598615a260b - std::sys_common::backtrace::print::ha71f3549862b4cb6 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:36:9 [INFO] [stdout] 8: 0x5598615a260b - std::panicking::default_hook::{{closure}}::h95488a3bade217f6 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:208:50 [INFO] [stdout] 9: 0x5598615a211c - std::panicking::default_hook::h290aa602c0fb11df [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:222:9 [INFO] [stdout] 10: 0x5598615a2cb1 - std::panicking::rust_panic_with_hook::hf32c4fa635e215f2 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:622:17 [INFO] [stdout] 11: 0x5598615a27b7 - std::panicking::begin_panic_handler::{{closure}}::h95197ccd88846f7a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:519:13 [INFO] [stdout] 12: 0x5598615a097c - std::sys_common::backtrace::__rust_end_short_backtrace::h7641df9566f7b7d0 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:141:18 [INFO] [stdout] 13: 0x5598615a2719 - rust_begin_unwind [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:515:5 [INFO] [stdout] 14: 0x55986149c8a1 - core::panicking::panic_fmt::hbe99dddd3092ba3c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/panicking.rs:92:14 [INFO] [stdout] 15: 0x5598615c2c18 - core::panicking::assert_failed_inner::h4fdb1013d187f202 [INFO] [stdout] 16: 0x55986157f7aa - core::panicking::assert_failed::h74fbd5692eebb91e [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/panicking.rs:117:5 [INFO] [stdout] 17: 0x5598614ddf6d - cardlang::runtime::std::test::filter_executes_a_function_against_a_stack_and_keeps_cards_when_false::he8088d9645c4c6c9 [INFO] [stdout] at /opt/rustwide/workdir/src/runtime/std.rs:66:9 [INFO] [stdout] 18: 0x5598614ddaca - cardlang::runtime::std::test::filter_executes_a_function_against_a_stack_and_keeps_cards_when_false::{{closure}}::hd195d24fcb579e66 [INFO] [stdout] at /opt/rustwide/workdir/src/runtime/std.rs:53:5 [INFO] [stdout] 19: 0x5598614fbfce - core::ops::function::FnOnce::call_once::ha6bdd2e8e82014df [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 20: 0x55986153ab73 - core::ops::function::FnOnce::call_once::h673fbe3f96486fd2 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 21: 0x55986153ab73 - test::__rust_begin_short_backtrace::h8eedc24e104ef6a0 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:577:5 [INFO] [stdout] 22: 0x559861539620 - as core::ops::function::FnOnce>::call_once::h028d0969d3f94d78 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 23: 0x559861539620 - as core::ops::function::FnOnce<()>>::call_once::h7634b01590b1722b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:346:9 [INFO] [stdout] 24: 0x559861539620 - std::panicking::try::do_call::hf74f869706dec63b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:401:40 [INFO] [stdout] 25: 0x559861539620 - std::panicking::try::hd0b7346ebfaaae44 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:365:19 [INFO] [stdout] 26: 0x559861539620 - std::panic::catch_unwind::hdbf6904f7c253080 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:433:14 [INFO] [stdout] 27: 0x559861539620 - test::run_test_in_process::h87e95a014ac91067 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:600:18 [INFO] [stdout] 28: 0x559861539620 - test::run_test::run_test_inner::{{closure}}::hdd69ae44aaab3470 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:492:39 [INFO] [stdout] 29: 0x5598615148f2 - test::run_test::run_test_inner::{{closure}}::hc159305704d5b68a [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/test/src/lib.rs:519:37 [INFO] [stdout] 30: 0x5598615148f2 - std::sys_common::backtrace::__rust_begin_short_backtrace::h33d8a8ad5f788fcc [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys_common/backtrace.rs:125:18 [INFO] [stdout] 31: 0x559861518668 - std::thread::Builder::spawn_unchecked::{{closure}}::{{closure}}::h6181011ddf4b8353 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/thread/mod.rs:481:17 [INFO] [stdout] 32: 0x559861518668 - as core::ops::function::FnOnce<()>>::call_once::hf924ea0a0f25a1c0 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:346:9 [INFO] [stdout] 33: 0x559861518668 - std::panicking::try::do_call::hd58061792d05fa5c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:401:40 [INFO] [stdout] 34: 0x559861518668 - std::panicking::try::h3080747417e5af37 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panicking.rs:365:19 [INFO] [stdout] 35: 0x559861518668 - std::panic::catch_unwind::hfeba515dcf36cb66 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/panic.rs:433:14 [INFO] [stdout] 36: 0x559861518668 - std::thread::Builder::spawn_unchecked::{{closure}}::h29d57a62faff749b [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/thread/mod.rs:480:30 [INFO] [stdout] 37: 0x559861518668 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h44709d312d2a9c59 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 38: 0x5598615a7767 - as core::ops::function::FnOnce>::call_once::h902e2cf6655e1b0c [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 39: 0x5598615a7767 - as core::ops::function::FnOnce>::call_once::h893a5452154309d1 [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/alloc/src/boxed.rs:1575:9 [INFO] [stdout] 40: 0x5598615a7767 - std::sys::unix::thread::Thread::new::thread_start::hdedcb57c96ab37cd [INFO] [stdout] at /rustc/99e3aef02079e9c10583638520cd0c134dc3a01d/library/std/src/sys/unix/thread.rs:71:17 [INFO] [stdout] 41: 0x7ff8abc7f609 - start_thread [INFO] [stdout] 42: 0x7ff8abf0a293 - clone [INFO] [stdout] 43: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] runtime::std::test::filter_executes_a_function_against_a_stack_and_keeps_cards_when_false [INFO] [stdout] [INFO] [stdout] test result: FAILED. 99 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.12s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "7bd2741987f37c088a3c95dd4ca7bd139ac3c63a59dd1444f9bb21a128641d9a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7bd2741987f37c088a3c95dd4ca7bd139ac3c63a59dd1444f9bb21a128641d9a", kill_on_drop: false }` [INFO] [stdout] 7bd2741987f37c088a3c95dd4ca7bd139ac3c63a59dd1444f9bb21a128641d9a