[INFO] cloning repository https://github.com/lumen-fx/candela [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lumen-fx/candela" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flumen-fx%2Fcandela", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flumen-fx%2Fcandela'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 0d221ae122612348cb60bacf1aa350081554c196 [INFO] testing lumen-fx/candela against 1.98.0-beta.8 for beta-1.99-5 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flumen-fx%2Fcandela" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/lumen-fx/candela [INFO] finished tweaking git repo https://github.com/lumen-fx/candela [INFO] tweaked toml for git repo https://github.com/lumen-fx/candela written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/lumen-fx/candela on toolchain 1.98.0-beta.8 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/lumen-fx/candela already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded smol_strc v0.3.6 [INFO] [stderr] Downloaded ariadne v0.6.0 [INFO] [stderr] Downloaded libloading v0.9.0 [INFO] [stderr] Downloaded mimalloc v0.1.52 [INFO] [stderr] Downloaded tower-lsp-macros v0.9.0 [INFO] [stderr] Downloaded libffi v5.1.1 [INFO] [stderr] Downloaded logos-derive v0.16.1 [INFO] [stderr] Downloaded logos v0.16.1 [INFO] [stderr] Downloaded async-trait v0.1.91 [INFO] [stderr] Downloaded logos-codegen v0.16.1 [INFO] [stderr] Downloaded tower-lsp v0.20.0 [INFO] [stderr] Downloaded lsp-types v0.94.1 [INFO] [stderr] Downloaded libmimalloc-sys v0.1.49 [INFO] [stderr] Downloaded libffi-sys v4.2.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf [INFO] running `Command { std: "docker" "start" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.107 [INFO] [stderr] Compiling quote v1.0.47 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling shlex v2.0.1 [INFO] [stderr] Compiling lexical-util v1.0.7 [INFO] [stderr] Compiling memchr v2.8.3 [INFO] [stderr] Compiling serde_core v1.0.229 [INFO] [stderr] Compiling cc v1.3.0 [INFO] [stderr] Compiling thiserror v2.0.19 [INFO] [stderr] Compiling serde v1.0.229 [INFO] [stderr] Compiling libc v0.2.189 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling lexical-parse-integer v1.0.6 [INFO] [stderr] Compiling lexical-write-integer v1.0.6 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling zmij v1.0.23 [INFO] [stderr] Compiling lexical-write-float v1.0.6 [INFO] [stderr] Compiling syn v3.0.3 [INFO] [stderr] Compiling syn v2.0.119 [INFO] [stderr] Compiling lexical-parse-float v1.0.6 [INFO] [stderr] Compiling libffi-sys v4.2.0 [INFO] [stderr] Compiling libmimalloc-sys v0.1.49 [INFO] [stderr] Compiling regex-automata v0.4.16 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling libloading v0.9.0 [INFO] [stderr] Compiling ariadne v0.6.0 [INFO] [stderr] Compiling lexical-core v1.0.6 [INFO] [stderr] Compiling smol_strc v0.3.6 [INFO] [stderr] Compiling rustc-hash v2.1.3 [INFO] [stderr] Compiling thiserror-impl v2.0.19 [INFO] [stderr] Compiling serde_derive v1.0.229 [INFO] [stderr] Compiling cobs v0.3.0 [INFO] [stderr] Compiling mimalloc v0.1.52 [INFO] [stderr] Compiling logos-codegen v0.16.1 [INFO] [stderr] Compiling postcard v1.1.3 [INFO] [stderr] Compiling logos-derive v0.16.1 [INFO] [stderr] Compiling logos v0.16.1 [INFO] [stderr] Compiling libffi v5.1.1 [INFO] [stderr] Compiling candela-vm v0.0.7 (/opt/rustwide/workdir/vm) [INFO] [stderr] Compiling candela-lang v0.0.7 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [optimized] target(s) in 1m 35s [INFO] running `Command { std: "docker" "inspect" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling candela-lang v0.0.7 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [optimized] target(s) in 33.48s [INFO] running `Command { std: "docker" "inspect" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.8" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [optimized] target(s) in 0.12s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/candela-f51296509335f0f4) [INFO] [stdout] [INFO] [stdout] running 413 tests [INFO] [stdout] 10 [INFO] [stdout] 10 [INFO] [stdout] 20 [INFO] [stdout] 30 [INFO] [stdout] 1 [INFO] [stdout] 9 [INFO] [stdout] test tests::a_comment_in_a_region_ends_at_a_carriage_return ... ok [INFO] [stdout] test tests::a_bang_after_an_identifier_is_still_negation ... ok [INFO] [stdout] test tests::a_comparison_in_a_condition_before_a_block ... ok [INFO] [stdout] 2 [INFO] [stdout] true [INFO] [stdout] true [INFO] [stdout] 9 [INFO] [stdout] test tests::a_catch_restores_the_registers_of_the_call_it_ended ... ok [INFO] [stdout] test tests::a_false_condition_still_takes_the_else_branch ... ok [INFO] [stdout] test tests::a_chain_of_macros_past_the_limit_is_an_error ... ok [INFO] [stdout] test tests::a_comparison_of_method_results ... ok [INFO] [stdout] 9 [INFO] [stdout] 12 [INFO] [stdout] test tests::a_chain_of_macros_within_the_limit_expands ... ok [INFO] [stdout] test tests::a_comparison_against_an_indexed_element ... ok [INFO] [stdout] test tests::a_macro_that_expands_to_itself_stops_at_the_limit ... ok [INFO] [stdout] 7 [INFO] [stdout] test tests::a_method_takes_explicit_type_arguments ... ok [INFO] [stdout] test tests::a_method_type_argument_picks_the_specialisation ... ok [INFO] [stdout] test tests::a_method_type_argument_left_off_is_inferred ... ok [INFO] [stdout] test tests::a_generic_type_nested_in_itself_without_end ... ok [INFO] [stdout] test tests::an_expander_error_without_an_offset_covers_the_invocation ... ok [INFO] [stdout] test tests::an_expansion_of_several_expressions_is_rejected ... ok [INFO] [stdout] test tests::a_parenthesised_comparison_chain ... ok [INFO] [stdout] 4 [INFO] [stdout] 5 [INFO] [stdout] test tests::an_unknown_macro_is_null_when_the_environment_allows_it ... ok [INFO] [stdout] test tests::an_unterminated_region_names_the_macro ... ok [INFO] [stdout] test tests::an_identifier_spelled_like_a_macro_is_still_an_identifier ... ok [INFO] [stdout] test tests::a_registered_macro_still_expands_when_unknown_ones_are_allowed ... ok [INFO] [stdout] test tests::an_expander_error_points_into_the_region ... ok [INFO] [stdout] false [INFO] [stdout] test tests::an_explicit_type_argument_pins_the_parameter ... ok [INFO] [stdout] test tests::and_short_circuits_in_a_let ... ok [INFO] [stdout] 1 [INFO] [stdout] test tests::and_still_short_circuits_as_a_condition ... ok [INFO] [stdout] 6 [INFO] [stdout] 1 [INFO] [stdout] false [INFO] [stdout] 4 [INFO] [stdout] test tests::annotated_array_param_accepts_matching_array ... ok [INFO] [stdout] 1 [INFO] [stdout] test tests::annotated_method_param_rejects_mismatch ... ok [INFO] [stdout] 4 [INFO] [stdout] test tests::and_short_circuits_in_a_call_argument ... ok [INFO] [stdout] test tests::and_of_or_on_the_right_evaluates_correctly ... ok [INFO] [stdout] test tests::annotated_param_any_stays_dynamic ... ok [INFO] [stderr] CANDELA ERROR [INFO] [stdout] test tests::and_of_or_evaluates_correctly_as_a_condition ... ok [INFO] [stderr] Error: [INFO] [stdout] test tests::a_region_of_multibyte_text_reaches_the_expander ... ok [INFO] [stderr] ╭─[ test.kl:4:21 ] [INFO] [stdout] 3 [INFO] [stderr] │ [INFO] [stdout] test tests::an_error_inside_an_expansion_points_at_the_macro ... true [INFO] [stderr] 4 │             let y = x[3..-5]; [INFO] [stdout] 4 [INFO] [stderr]  │ ────┬─── [INFO] [stdout] true [INFO] [stderr]  │ ╰───── Invalid range 3..-5 for collection with length 6 [INFO] [stdout] ok [INFO] [stderr] ───╯ [INFO] [stdout] 3 [INFO] [stdout] test tests::annotated_param_rejects_float_for_int ... ok [INFO] [stdout] test tests::annotated_params_accept_matching_int ... ok [INFO] [stdout] test tests::annotated_params_accept_matching_bool ... ok [INFO] [stdout] hi [INFO] [stdout] test tests::annotated_params_accept_matching_string ... ok [INFO] [stdout] test tests::any_as_bool ... ok [INFO] [stdout] test tests::annotated_params_accept_matching_float ... ok [INFO] [stdout] false [INFO] [stdout] 2 [INFO] [stdout] 0 [INFO] [stdout] test tests::any_as_str ... ok [INFO] [stdout] 42 [INFO] [stdout] true [INFO] [stdout] test tests::any_is_int_false_on_string ... ok [INFO] [stdout] test tests::any_bad_downcast_is_catchable ... ok [INFO] [stdout] true [INFO] [stdout] test tests::array_after_all_removes ... ok [INFO] [stdout] 2 [INFO] [stdout] test tests::any_downcast_int_arithmetic ... ok [INFO] [stdout] -1 [INFO] [stdout] 5 [INFO] [stdout] test tests::any_is_int_true ... ok [INFO] [stdout] 3 [INFO] [stdout] 7 [INFO] [stdout] true [INFO] [stdout] test tests::any_type_tests ... ok [INFO] [stdout] test tests::array_find ... ok [INFO] [stdout] test tests::array_find_missing ... ok [INFO] [stdout] test tests::array_join ... ok [INFO] [stdout] test tests::array_join_no_sep ... ok [INFO] [stdout] 99 [INFO] [stdout] 7 [INFO] [stdout] 5 [INFO] [stdout] 4 [INFO] [stdout] 6 [INFO] [stdout] test tests::array_contains ... ok [INFO] [stdout] test tests::array_join_sep ... ok [INFO] [stdout] test tests::array_modify_index ... ok [INFO] [stdout] test tests::array_partition ... ok [INFO] [stdout] test tests::array_literal_argument_to_method ... ok [INFO] [stdout] test tests::array_push_len ... ok [INFO] [stdout] 3 [INFO] [stdout] 2 [INFO] [stdout] 1 [INFO] [stdout] test tests::array_push_type_inference_propagation ... ok [INFO] [stdout] 3 [INFO] [stdout] 7 [INFO] [stdout] test tests::array_reverse ... ok [INFO] [stdout] test tests::array_remove ... ok [INFO] [stdout] test tests::array_slice_negative_index - should panic ... ok [INFO] [stdout] 3 [INFO] [stdout] true [INFO] [stdout] test tests::array_sort ... ok [INFO] [stdout] 1.4 [INFO] [stdout] test tests::array_slice ... ok [INFO] [stdout] test tests::array_repeat ... ok [INFO] [stdout] test tests::block_scope ... ok [INFO] [stdout] 1 [INFO] [stdout] false [INFO] [stdout] test tests::bool_and_operator ... ok [INFO] [stdout] test tests::array_sort_floats ... ok [INFO] [stdout] test tests::bool_conditions_still_compile ... ok [INFO] [stdout] true [INFO] [stdout] 7 [INFO] [stdout] test tests::bool_from_string_false ... ok [INFO] [stdout] test tests::bool_neg_names_the_bang_operator ... ok [INFO] [stdout] test tests::bool_ops_reject_non_bool_operands ... ok [INFO] [stdout] test tests::bool_or_operator ... ok [INFO] [stdout] 42 [INFO] [stdout] 5 [INFO] [stdout] 3 [INFO] [stdout] 10 [INFO] [stdout] test tests::branch_without_return ... ok [INFO] [stdout] test tests::break_in_while_loop ... ok [INFO] [stdout] test tests::break_loop ... ok [INFO] [stdout] test tests::break_only_breaks_inner_loop ... ok [INFO] [stdout] 111 [INFO] [stdout] true [INFO] [stdout] true [INFO] [stdout] 5 [INFO] [stdout] test tests::bubble_sort ... ok [INFO] [stdout] test tests::collatz_steps ... ok [INFO] [stdout] test tests::comparisons_as_call_arguments ... ok [INFO] [stdout] test tests::comparisons_joined_by_and ... ok [INFO] [stdout] 2 [INFO] [stdout] 15 [INFO] [stdout] 256 [INFO] [stdout] 5 [INFO] [stdout] true [INFO] [stdout] test tests::compound_div_assign ... ok [INFO] [stdout] test tests::compound_mod_assign ... ok [INFO] [stdout] test tests::compound_mul_assign ... ok [INFO] [stdout] test tests::compound_pow_assign ... ok [INFO] [stdout] test tests::array_sort_strings ... ok [INFO] [stdout] test tests::bool_from_string_true ... ok [INFO] [stdout] 41 [INFO] [stdout] test tests::dec_int_does_not_mutate_source ... ok [INFO] [stdout] 4 [INFO] [stdout] test tests::dec_int_to_basic ... ok [INFO] [stdout] 2 [INFO] [stdout] test tests::deeply_nested_conditions ... ok [INFO] [stdout] 7 [INFO] [stdout] test tests::const_map_literal_argument ... ok [INFO] [stdout] test tests::diagnostics_legacy_namespaced_import ... ok [INFO] [stdout] test tests::diagnostics_missing_main ... ok [INFO] [stdout] test tests::diagnostics_parser_error_span ... ok [INFO] [stdout] test tests::diagnostics_runtime_error_code_and_span ... ok [INFO] [stdout] test tests::diagnostics_sink_is_scoped ... ok [INFO] [stdout] test tests::diagnostics_unknown_variable_is_plain_text ... ok [INFO] [stdout] false [INFO] [stdout] test tests::digit_string_is_not_equal_to_the_number ... ok [INFO] [stdout] test tests::division_by_literal_zero_is_a_parse_error ... ok [INFO] [stdout] test tests::diagnostics_compile_error_span ... ok [INFO] [stdout] 3 [INFO] [stdout] test tests::dynamic_array_literal_in_a_loop_body ... ok [INFO] [stdout] 7 [INFO] [stdout] test tests::dynamic_map_literal_argument ... ok [INFO] [stdout] 1 [INFO] [stdout] test tests::dynamic_map_literal_argument_ignored_by_callee ... ok [INFO] [stdout] 3 [INFO] [stdout] test tests::dynamic_map_literal_in_a_loop_body ... ok [INFO] [stdout] 5 [INFO] [stdout] test tests::early_return_from_for_loop ... ok [INFO] [stdout] 7 [INFO] [stdout] test tests::early_return_from_while_loop ... ok [INFO] [stdout] 1 [INFO] [stdout] test tests::else_if_accepts_non_bool_condition ... ok [INFO] [stdout] 0 [INFO] [stdout] test tests::empty_array_iteration ... ok [INFO] [stdout] 0 [INFO] [stdout] test tests::empty_array_len ... ok [INFO] [stdout] test tests::empty_array_literal_pins_its_type_on_the_first_push ... ok [INFO] [stdout] test tests::empty_map_literal_pins_its_types_on_the_first_insert ... ok [INFO] [stdout] test tests::diagnostics_import_path_bad_extension ... ok [INFO] [stdout] 99 [INFO] [stdout] test tests::empty_range_for_loop ... ok [INFO] [stdout] hello [INFO] [stdout] true [INFO] [stdout] test tests::enum_any_payload ... ok [INFO] [stdout] false [INFO] [stdout] test tests::enum_equality ... ok [INFO] [stdout] test tests::enum_inequality_variants ... ok [INFO] [stdout] 9 [INFO] [stdout] 2 [INFO] [stdout] test tests::enum_match_wildcard ... ok [INFO] [stdout] test tests::enum_nullary_match ... ok [INFO] [stdout] 12 [INFO] [stdout] 25 [INFO] [stdout] true [INFO] [stdout] 5 [INFO] [stdout] test tests::enum_payload_binding ... ok [INFO] [stdout] test tests::continue_in_loop ... ok [INFO] [stdout] test tests::enum_payload_equality ... ok [INFO] [stdout] test tests::dynamic_array_literal_argument ... ok [INFO] [stdout] 42 [INFO] [stdout] true [INFO] [stdout] false [INFO] [stdout] test tests::enum_returned_from_fn ... ok [INFO] [stdout] test tests::eq_on_matching_ints_still_works ... ok [INFO] [stdout] true [INFO] [stdout] test tests::eq_3_4 ... ok [INFO] [stdout] false [INFO] [stdout] test tests::eq_on_matching_strings_still_works ... ok [INFO] [stdout] test tests::eq_string_against_bool_is_false ... ok [INFO] [stdout] false [INFO] [stdout] 8 [INFO] [stdout] 90023650 [INFO] [stdout] test tests::eq_string_against_null_is_false ... ok [INFO] [stdout] test tests::explicit_type_arguments_pick_the_specialisation ... ok [INFO] [stdout] test tests::annotated_param_rejects_mismatch ... ok [INFO] [stdout] test tests::concurrent_collections_and_panics_do_not_wedge ... ok [INFO] [stdout] true [INFO] [stdout] test tests::float_division_by_literal_zero_follows_ieee ... ok [INFO] [stdout] 3 [INFO] [stdout] test tests::float_floor ... ok [INFO] [stdout] false [INFO] [stdout] true [INFO] [stdout] test tests::eq_string_against_int_is_false ... ok [INFO] [stdout] test tests::float_literal_divided_by_int_zero_is_a_type_error ... ok [INFO] [stdout] test tests::float_div_zero ... ok [INFO] [stdout] 0.5 [INFO] [stdout] false [INFO] [stdout] test tests::float_negative_pow_square ... ok [INFO] [stdout] test tests::float_remainder_by_literal_zero_follows_ieee ... ok [INFO] [stdout] 4 [INFO] [stdout] 7.5 [INFO] [stdout] test tests::float_addition ... ok [INFO] [stdout] 12 [INFO] [stdout] 19 [INFO] [stdout] 3 [INFO] [stdout] 0.5 [INFO] [stdout] 5 [INFO] [stdout] test tests::float_abs ... ok [INFO] [stdout] test tests::float_sqrt ... ok [INFO] [stdout] test tests::float_to_int_conversion ... ok [INFO] [stdout] test tests::float_negative_pow ... ok [INFO] [stdout] test tests::dec_int_as_return_value ... ok [INFO] [stdout] test tests::const_array_literal_argument ... ok [INFO] [stdout] 8 [INFO] [stdout] 4 [INFO] [stdout] test tests::folded_pow_accepts_matching_floats ... ok [INFO] [stdout] test tests::float_round ... ok [INFO] [stdout] 6 [INFO] [stdout] 5 [INFO] [stdout] 15 [INFO] [stdout] 90 [INFO] [stdout] test tests::for_loop_called_twice ... ok [INFO] [stdout] test tests::for_loop_discard_var ... ok [INFO] [stdout] test tests::for_loop_sum ... ok [INFO] [stdout] test tests::function_called_after_loop ... ok [INFO] [stdout] 24 [INFO] [stdout] 9 [INFO] [stdout] 7 [INFO] [stdout] 15 [INFO] [stdout] 14 [INFO] [stdout] 42 [INFO] [stdout] test tests::function_returns_array ... ok [INFO] [stdout] test tests::generic_enum_variant_construction ... ok [INFO] [stdout] test tests::fn_call_in_if_in_for ... ok [INFO] [stdout] test tests::generic_and_concrete_impl_on_one_type ... ok [INFO] [stdout] test tests::folded_pow_rejects_mixed_operands ... ok [INFO] [stdout] 7 [INFO] [stdout] test tests::fn_call_in_if_and_in_nested_for ... ok [INFO] [stdout] test tests::generic_declared_in_an_imported_module ... ok [INFO] [stdout] test tests::generic_function_without_type_arguments_still_infers ... ok [INFO] [stdout] 8 [INFO] [stdout] test tests::generic_type_in_a_struct_field ... ok [INFO] [stdout] 10 [INFO] [stdout] test tests::generic_function_with_explicit_type_argument ... ok [INFO] [stdout] 5 [INFO] [stdout] 81 [INFO] [stdout] 3 [INFO] [stdout] 9 [INFO] [stdout] 12 [INFO] [stdout] 4 [INFO] [stdout] test tests::generic_instantiation_is_cached ... ok [INFO] [stdout] test tests::generic_struct_and_impl ... ok [INFO] [stdout] test tests::hof_map_over_array ... ok [INFO] [stdout] test tests::hof_anonymous_function ... ok [INFO] [stdout] test tests::generic_struct_literal_without_type_arguments ... ok [INFO] [stdout] 1 [INFO] [stdout] 42 [INFO] [stdout] 1 [INFO] [stdout] 50 [INFO] [stdout] 1 [INFO] [stdout] test tests::generic_instantiations_are_distinct_types ... ok [INFO] [stdout] test tests::if_accepts_int_condition_and_takes_the_true_branch ... ok [INFO] [stdout] 8 [INFO] [stdout] test tests::hof_named_function_reference ... ok [INFO] [stdout] test tests::if_accepts_null_condition_and_takes_the_true_branch ... ok [INFO] [stdout] test tests::hof_specialization_is_per_function ... ok [INFO] [stdout] test tests::if_accepts_string_condition_and_takes_the_true_branch ... ok [INFO] [stdout] test tests::genuine_panic_propagates_through_collect ... ok [INFO] [stdout] test tests::inc_int_as_function_arg ... ok [INFO] [stdout] 1 [INFO] [stdout] test tests::inc_int_in_condition ... ok [INFO] [stdout] 6 [INFO] [stdout] 41 [INFO] [stdout] 5 [INFO] [stdout] 99 [INFO] [stdout] 11 [INFO] [stdout] 1 [INFO] [stdout] test tests::impl_on_a_generic_type_needs_its_arguments ... ok [INFO] [stdout] test tests::inc_int_to_basic ... ok [INFO] [stdout] test tests::inc_int_does_not_mutate_source ... ok [INFO] [stdout] test tests::inc_int_to_chained ... ok [INFO] [stdout] test tests::inline_condition_as_arg ... ok [INFO] [stdout] 0 [INFO] [stdout] test tests::inc_int_commutative ... ok [INFO] [stdout] 1 [INFO] [stdout] 7 [INFO] [stdout] 42 [INFO] [stdout] 45 [INFO] [stdout] 45 [INFO] [stdout] test tests::inline_condition_else_if ... ok [INFO] [stdout] test tests::inline_condition_false ... ok [INFO] [stdout] test tests::inline_condition_true ... ok [INFO] [stdout] test tests::inline_if_accepts_non_bool_condition ... ok [INFO] [stdout] test tests::int_abs ... ok [INFO] [stdout] test tests::int_for_loop ... ok [INFO] [stdout] 2 [INFO] [stdout] test tests::int_range_loop_fn_called_twice ... ok [INFO] [stdout] test tests::int_to_str_conversion ... 2147483647 [INFO] [stdout] ok [INFO] [stdout] 42 [INFO] [stdout] test tests::int_wraps_on_underflow ... ok [INFO] [stdout] 102334155 [INFO] [stdout] -2147483648 [INFO] [stdout] 30 [INFO] [stdout] 43 [INFO] [stdout] test tests::int_to_float_conversion ... ok [INFO] [stdout] test tests::iter_fib_40 ... ok [INFO] [stdout] test tests::int_wraps_on_overflow ... ok [INFO] [stdout] test tests::json_parse_object_field ... ok [INFO] [stdout] test tests::json_parse_scalar_int ... ok [INFO] [stdout] 7 [INFO] [stdout] 4 [INFO] [stdout] 2.5 [INFO] [stdout] true [INFO] [stdout] 3 [INFO] [stdout] test tests::json_roundtrip_preserves_int ... ok [INFO] [stdout] 4 [INFO] [stdout] 10 [INFO] [stdout] test tests::list_downcast_elements_stay_dynamic ... ok [INFO] [stdout] 1000000 [INFO] [stdout] test tests::json_roundtrip_preserves_float ... ok [INFO] [stdout] test tests::list_downcast_takes_mixed_element_types ... ok [INFO] [stdout] test tests::less_than_is_still_a_comparison ... ok [INFO] [stdout] 5 [INFO] [stdout] 8 [INFO] [stdout] 100 [INFO] [stdout] test tests::json_parse_nested_array ... ok [INFO] [stdout] test tests::loop_break ... ok [INFO] [stdout] 8 [INFO] [stdout] 7 [INFO] [stdout] test tests::expr_eval_mutual_recursion ... ok [INFO] [stdout] test tests::iter_fib_40_loop ... ok [INFO] [stdout] test tests::macro_expands_in_a_variable_declaration ... ok [INFO] [stderr] CANDELA ERROR [INFO] [stdout] 5 [INFO] [stderr] Error: [INFO] [stdout] true [INFO] [stderr] ╭─[ test.kl:3:13 ] [INFO] [stdout] 1 [INFO] [stderr] │ [INFO] [stdout] test tests::macro_expands_as_a_call_argument ... ok [INFO] [stderr] 3 │             fn add(a, b) {CANDELA ERROR [INFO] [stdout] test tests::loop_continue ... ok [INFO] [stderr] Error: [INFO] [stdout] test tests::macro_expands_in_an_expression ... ok [INFO] [stderr] ╭─[ test.kl:3:13 ] [INFO] [stdout] test tests::macro_region_balances_nested_parentheses ... ok [INFO] [stderr] │ [INFO] [stdout] false [INFO] [stderr] 3 │         [INFO] [stdout] test tests::macro_region_keeps_parentheses_inside_strings ... ok [INFO] [stderr]  │ ─┬ [INFO] [stdout] test tests::map_contains ... ok [INFO] [stderr]  │ ╰── Functions declare at the top level of a file, not inside a block. Move this declaration out of the enclosing block [INFO] [stdout] test tests::loop_function_reg_interference ... 3 [INFO] [stderr] ───╯ [INFO] [stdout] ok4 [INFO] [stderr]      fn square(n) { [INFO] [stdout] 42 [INFO] [stderr]  │ ─┬ [INFO] [stdout] 2 [INFO] [stderr]  │ ╰── Functions declare at the top level of a file, not inside a block. Move this declaration out of the enclosing block [INFO] [stdout] 3 [INFO] [stderr] ───╯ [INFO] [stdout] [INFO] [stderr] Error: Invalid type [INFO] [stdout] test tests::map_contains_absent ... ok [INFO] [stderr] ╭─[ test.kl:9:19 ] [INFO] [stdout] test tests::map_downcast_takes_mixed_key_types ... ok [INFO] [stderr] │ [INFO] [stdout] test tests::map_downcast_entries_stay_dynamic ... ok [INFO] [stderr] 9 │             print(test(input("> ")).uppercase()); [INFO] [stdout] test tests::map_get_key ... ok [INFO] [stderr]  │ ─────────┬──────── [INFO] [stdout] test tests::map_empty_literal_and_len ... ok [INFO] [stderr]  │ ╰────────── Function uppercase expects this expression's type to be string but here its type is string|null [INFO] [stdout] test tests::map_downcast_takes_mixed_value_types ... ok [INFO] [stderr] ───╯ [INFO] [stdout] test tests::macros_are_unknown_again_once_the_scope_ends ... ok [INFO] [stderr] Error: Cannot perform operation null|int + int [INFO] [stdout] 6 [INFO] [stderr] ╭─[ test.kl:10:19 ] [INFO] [stdout] 500 [INFO] [stderr] │ [INFO] [stdout] 7 [INFO] [stderr] Error: Invalid type [INFO] [stdout] 5 [INFO] [stderr] ╭─[ test.kl:9:19 ] [INFO] [stdout] 2 [INFO] [stderr] │ [INFO] [stdout] test tests::map_keys_values_len ... ok [INFO] [stderr] 9 │             print(first_wo 10 │ Error: Invalid type [INFO] [stdout] 30 [INFO] [stderr] ╭─[ test.kl:9:19 ] [INFO] [stdout] 56 [INFO] [stderr] │ [INFO] [stdout] test tests::map_init ... ok [INFO] [stderr] 9 │             print(maybe_word(0).uppercase()); [INFO] [stdout] test tests::map_loop ... ok [INFO] [stderr]  │ ───────┬────r            print(maybe_number(0) + 1); [INFO] [stdout] test tests::map_literal_argument_to_method ... ok [INFO] [stderr]  │ ───────┬─────── ┬ [INFO] [stdout] 0 [INFO] [stderr]  │ ╰───────────── This expression is of type null|int [INFO] [stdout] 2 [INFO] [stderr]  │ │ [INFO] [stdout] test tests::map_overwrite_pair ... ok [INFO] [stderr]  │ ╰── This expression is of type int [INFO] [stdout] test tests::map_insert_new_pair ... ok [INFO] [stderr]  │ [INFO] [stdout] test tests::map_iteration_over_keys ... ok [INFO] [stderr]  │ Note: The supported types are: [INFO] [stdout] test tests::match_arm_computation ... ok [INFO] [stderr]  │ - int + int [INFO] [stdout] true [INFO] [stderr]  │ - float + float [INFO] [stdout] 100 [INFO] [stderr]  │ - string + string [INFO] [stdout] 12 [INFO] [stderr]  │ - T[] + T[] [INFO] [stdout] 99 [INFO] [stderr] ────╯ [INFO] [stdout] 22 [INFO] [stderr] ── [INFO] [stdout] test tests::match_no_match ... ok [INFO] [stderr]  │ ╰──────── Function uppercase expects this expression's type to be string but here its type is string|null [INFO] [stdout] test tests::match_string_arms ... ok [INFO] [stderr] ───╯ [INFO] [stdout] test tests::matching_strings_through_an_untyped_parameter ... ok [INFO] [stderr] d(["hello"]).uppercase()); [INFO] [stdout] test tests::match_first_arm ... ok [INFO] [stderr]  │ ───────────┬────────── [INFO] [stdout] test tests::method_alongside_builtin_len ... ok [INFO] [stderr]  │ ╰──────────── Function uppercase expects this expression's type to be string but here its type is string|null [INFO] [stdout] test tests::match_with_wildcard ... ok [INFO] [stderr] ───╯ [INFO] [stdout] 5 [INFO] [stderr] CANDELA ERROR [INFO] [stdout] test tests::method_and_free_fn_coexist ... ok [INFO] [stderr] Error: [INFO] [stdout] 5040 [INFO] [stderr] ╭─[ test.kl:4:21 ] [INFO] [stdout] 3 [INFO] [stderr] │ [INFO] [stdout] test tests::method_basic_call ... ok [INFO] [stderr] 4 │             let y = x[-6..11]; [INFO] [stdout] 3 [INFO] [stderr]  │ ────┬──── [INFO] [stdout] test tests::method_name_conflict_two_types ... ok [INFO] [stderr]  │ ╰────── Invalid range -6..11 for collection with length 11 [INFO] [stdout] test tests::method_chaining ... ok [INFO] [stderr] ───╯ [INFO] [stdout] test tests::method_error_duplicate ... ok [INFO] [stderr] Error: Incompatible types [INFO] [stdout] 4 [INFO] [stderr] ╭─[ test.kl:2:27 ] [INFO] [stdout] 20 [INFO] [stderr] │ [INFO] [stdout] test tests::method_on_builtin_cannot_shadow_builtin ... ok [INFO] [stderr] 2 │         struct Point { x: int } [INFO] [stdout] test tests::method_error_unknown ... ok2.5 [INFO] [stderr]  │ ──┬── [INFO] [stdout] [INFO] [stderr]  │ ╰──── Field x in struct Point expects type int [INFO] [stdout] 11 [INFO] [stderr]  │ [INFO] [stdout] 5 [INFO] [stderr] 5 │             a.x = true; [INFO] [stdout] test tests::method_on_builtin_string ... ok [INFO] [stderr]  │ ──┬─ [INFO] [stdout] test tests::match_basic_int ... ok [INFO] [stderr]  │ ╰─── This expression is of type bool [INFO] [stdout] test tests::method_on_builtin_float ... ok [INFO] [stderr] ───╯ [INFO] [stdout] 6 [INFO] [stderr] Error: Unknown struct [INFO] [stdout] 30 [INFO] [stderr] ╭─[ test.kl:3:21 ] [INFO] [stdout] 42 [INFO] [stderr] │ [INFO] [stdout] test tests::method_on_builtin_with_type_parameter ... ok [INFO] [stderr] 3 │             let a = IError: Unknown field [INFO] [stdout] 20 [INFO] [stderr] ╭─[ test.kl:5:21 ] [INFO] [stdout] test tests::method_param_annotation_accepts_match ... ok [INFO] [stderr] │ [INFO] [stdout] test tests::method_return_annotation_accepts_match ... ok [INFO] [stderr] 5 │             print(a.z); [INFO] [stdout] test tests::method_vs_field_disambiguation ... ok [INFO] [stderr]  │ ┬ [INFO] [stdout] test tests::method_on_builtin_int ... ok [INFO] [stderr]  │ ╰── The field z isn't defined in struct Point [INFO] [stdout] test tests::method_return_annotation_is_checked ... ok [INFO] [stderr]  │ [INFO] [stdout] 8 [INFO] [stderr]  │ Help: A field with a similar name exists: x [INFO] [stdout] 2 [INFO] [stderr] ───╯ [INFO] [stdout] 12 [INFO] [stderr] dk { x: 1 }; [INFO] [stdout] 12 [INFO] [stderr]  │ ──────┬───── [INFO] [stdout] test tests::method_with_extra_arg ... ok [INFO] [stderr]  │ ╰─────── Unknown struct Idk [INFO] [stdout] false [INFO] [stderr] ───╯ [INFO] [stdout] test tests::method_on_builtin_list ... ok [INFO] [stderr] CANDELA ERROR [INFO] [stdout] test tests::mixed_equality_as_a_condition_takes_the_else_branch ... ok [INFO] [stderr] Error: [INFO] [stdout] test tests::multi_loop_fn_called_twice ... ok [INFO] [stderr] ╭─[ test.kl:5:13 ] [INFO] [stdout] test tests::mixed_equality_through_an_untyped_parameter ... ok [INFO] [stderr] │ [INFO] [stdout] -5 [INFO] [stderr]  5 │ ╭─▶             try { [INFO] [stdout] true [INFO] [stderr]  ┆ ┆ [INFO] [stdout] -2147483648 [INFO] [stderr] 10 │ ├─▶             print(result); [INFO] [stdout] 1 [INFO] [stderr]  │ │ [INFO] [stdout] test tests::negation ... ok [INFO] [stderr]  │ ╰──────────────────────────────── division_by_zero [INFO] [stdout] test tests::mutual_recursion ... ok [INFO] [stderr] ────╯ [INFO] [stdout] test tests::negative_int_literal ... ok [INFO] [stdout] test tests::mixed_inequality_as_a_condition_takes_the_true_branch ... ok [INFO] [stdout] 99 [INFO] [stdout] 5 [INFO] [stdout] -0.16907516382852444 [INFO] [stdout] -0.1690730217146998 [INFO] [stdout] test tests::nested_array_set ... ok [INFO] [stdout] test tests::nested_dynamic_literals_as_arguments ... ok [INFO] [stdout] test tests::nbody ... ok [INFO] [stdout] 7 [INFO] [stdout] 35 [INFO] [stdout] test tests::multi_arg_function ... ok [INFO] [stdout] 14 [INFO] [stdout] test tests::method_on_builtin_map ... ok [INFO] [stdout] test tests::nested_fn_call_as_arg ... ok [INFO] [stdout] 12 [INFO] [stdout] 4 [INFO] [stdout] test tests::nested_fn - should panic ... ok [INFO] [stdout] true [INFO] [stdout] test tests::nested_fn_in_loop - should panic ... ok [INFO] [stdout] test tests::nested_loop_blocks ... ok [INFO] [stdout] test tests::nested_generic_instantiation ... ok [INFO] [stdout] test tests::nested_fn_reports_a_parse_error ... ok [INFO] [stdout] true [INFO] [stdout] 3 [INFO] [stdout] test tests::neq_3_4 ... ok [INFO] [stdout] test tests::neq_int_against_string_is_true ... ok [INFO] [stdout] true [INFO] [stdout] test tests::nested_loop_inner_break ... ok [INFO] [stdout] test tests::null_literal_store_and_compare ... ok [INFO] [stdout] 16 [INFO] [stdout] 4 [INFO] [stdout] 42 [INFO] [stdout] true [INFO] [stdout] test tests::nested_loops ... ok [INFO] [stdout] test tests::nested_array_index ... ok [INFO] [stdout] test tests::null_literal_as_default ... ok [INFO] [stdout] test tests::or_short_circuits_in_a_let ... ok [INFO] [stdout] 0 [INFO] [stdout] 9 [INFO] [stdout] 1 [INFO] [stdout] 85 [INFO] [stdout] true [INFO] [stdout] 1024 [INFO] [stdout] test tests::one_method_defined_by_two_impl_blocks ... ok [INFO] [stdout] test tests::or_inside_and_takes_the_false_path ... ok [INFO] [stdout] test tests::pass_array_to_function ... ok [INFO] [stdout] test tests::or_of_and_still_short_circuits_as_a_condition ... ok [INFO] [stdout] test tests::or_short_circuits_in_a_return_value ... ok [INFO] [stdout] test tests::power_operator ... ok [INFO] [stdout] test tests::quicksort ... ok [INFO] [stdout] 5050 [INFO] [stdout] 3 [INFO] [stdout] 3628800 [INFO] [stdout] 35 [INFO] [stdout] 1 [INFO] [stdout] 55 [INFO] [stdout] 75025 [INFO] [stdout] test tests::range_sum ... ok [INFO] [stdout] test tests::range_two_arg_index ... ok [INFO] [stdout] 2 [INFO] [stdout] test tests::recursive_factorial ... ok [INFO] [stdout] test tests::range_two_arg ... ok [INFO] [stdout] test tests::rec_fib_1 ... ok [INFO] [stdout] test tests::recursive_fib_after_loop ... ok [INFO] [stdout] test tests::partial_return_flow_with_null - should panic ... ok [INFO] [stdout] test tests::rec_fib_25 ... ok [INFO] [stdout] 5 [INFO] [stdout] test tests::remainder_by_literal_int_zero_is_a_parse_error ... ok [INFO] [stdout] test tests::recursive_fn_inside_for_loop ... ok [INFO] [stdout] BRANCH [INFO] [stdout] 31 [INFO] [stdout] test tests::return_annotation_accepts_matching_type ... ok [INFO] [stdout] test tests::return_flow_branch_local_return_value_type_is_preserved ... ok [INFO] [stdout] test tests::return_annotation_rejects_missing_return ... ok [INFO] [stdout] test tests::return_flow_exhaustive_condition_ignores_later_conflicting_return ... ok [INFO] [stdout] test tests::return_annotation_rejects_mismatch ... ok [INFO] [stdout] test tests::scan_regions_carries_multibyte_text_through ... ok [INFO] [stdout] test tests::scan_regions_counts_only_parentheses_outside_strings_and_comments ... ok [INFO] [stdout] test tests::scan_regions_skips_strings_and_comments ... ok [INFO] [stdout] test tests::scan_regions_finds_every_invocation ... ok [INFO] [stdout] 3 [INFO] [stdout] true [INFO] [stdout] test tests::scan_regions_stops_at_a_region_that_is_never_closed ... ok [INFO] [stdout] test tests::scan_regions_handles_an_escaped_quote_in_a_region ... ok [INFO] [stdout] test tests::short_circuit_in_a_while_condition ... ok [INFO] [stdout] 1 [INFO] [stdout] 11 [INFO] [stdout] 9592 [INFO] [stdout] test tests::short_circuit_value_still_evaluates_the_right_side ... ok [INFO] [stdout] test tests::single_element_array_len ... ok [INFO] [stdout] test tests::split_result_survives_string_gc ... ok [INFO] [stdout] test tests::scan_regions_matches_the_name_exactly ... ok [INFO] [stdout] test tests::return_flow_branch_returns_null - should panic ... ok [INFO] [stdout] test tests::return_flow_return_inside_while_loop_is_not_total - should panic ... ok [INFO] [stdout] test tests::return_flow_return_inside_for_loop_is_not_total - should panic ... ok [INFO] [stdout] test tests::stress_parser_random_garbage ... ignored, stalls CI runners; run with --ignored [INFO] [stdout] 3 [INFO] [stdout] 3 [INFO] [stdout] test tests::sieve_of_eratosthenes ... ok [INFO] [stdout] 11 [INFO] [stdout] test tests::string_escape_backslash ... ok [INFO] [stdout] test tests::string_escape_newline ... ok [INFO] [stdout] 3 [INFO] [stdout] test tests::stress_runtime_errors ... ok [INFO] [stdout] test tests::string_escape_quote ... ok [INFO] [stdout] true [INFO] [stdout] 7 [INFO] [stdout] 6 [INFO] [stdout] test tests::stress_compiler_semantic_errors ... ok [INFO] [stdout] test tests::string_escape_tab ... ok [INFO] [stdout] test tests::string_contains ... ok [INFO] [stdout] test tests::string_exactly_7_chars ... ok [INFO] [stdout] test tests::string_find ... ok [INFO] [stdout] true [INFO] [stdout] false [INFO] [stdout] test tests::string_is_int_true ... ok [INFO] [stdout] 5 [INFO] [stdout] test tests::string_is_float_false ... ok [INFO] [stdout] test tests::string_lowercase ... ok [INFO] [stdout] 6 [INFO] [stdout] true [INFO] [stdout] 10 [INFO] [stdout] false [INFO] [stdout] true [INFO] [stdout] 6 [INFO] [stdout] test tests::string_repeat ... ok [INFO] [stdout] test tests::string_index ... ok [INFO] [stdout] test tests::string_is_int_false ... ok [INFO] [stdout] 6 [INFO] [stdout] world [INFO] [stdout] test tests::string_replace ... ok [INFO] [stdout] test tests::string_is_float ... ok [INFO] [stdout] test tests::string_exactly_6_chars ... ok [INFO] [stdout] test tests::string_set_index ... ok [INFO] [stdout] test tests::string_slice ... ok [INFO] [stdout] true [INFO] [stdout] test tests::string_slice_negative_index - should panic ... ok [INFO] [stdout] test tests::string_starts_ends_with ... ok [INFO] [stdout] 5 [INFO] [stdout] 5 [INFO] [stdout] test tests::string_trim ... ok [INFO] [stdout] test tests::string_trim_sequence ... ok [INFO] [stdout] 8 [INFO] [stdout] 5 [INFO] [stdout] 5 [INFO] [stdout] 2 [INFO] [stdout] 5 [INFO] [stdout] test tests::string_small_to_large_concat ... ok [INFO] [stdout] test tests::string_reverse_method ... ok [INFO] [stdout] 5 [INFO] [stdout] 5 [INFO] [stdout] 5 [INFO] [stdout] test tests::string_split_array_len ... ok [INFO] [stdout] test tests::string_trim_sequence_left ... ok [INFO] [stdout] test tests::string_split_then_iterate ... ok [INFO] [stdout] test tests::string_trim_sequence_right ... ok [INFO] [stdout] test tests::string_uppercase ... ok [INFO] [stdout] 20 [INFO] [stdout] test tests::string_word_count ... ok [INFO] [stdout] test tests::struct_array_field_access ... ok [INFO] [stdout] 7 [INFO] [stdout] true [INFO] [stdout] 99 [INFO] [stdout] test tests::struct_field_access ... ok [INFO] [stdout] 15 [INFO] [stdout] test tests::struct_eq_true ... ok [INFO] [stdout] test tests::struct_array_field_modify ... ok [INFO] [stdout] test tests::struct_field_assign_shorthand ... ok [INFO] [stdout] test tests::struct_field_wrong_type ... ignored, stalls CI runners; run with --ignored [INFO] [stdout] 1 [INFO] [stdout] 42 [INFO] [stdout] 16 [INFO] [stdout] test tests::struct_field_condition ... ok [INFO] [stdout] test tests::struct_field_modify ... ok [INFO] [stdout] test tests::struct_fields_exprs ... ok [INFO] [stdout] test tests::struct_missing_field ... ignored, stalls CI runners; run with --ignored [INFO] [stdout] 6 [INFO] [stdout] test tests::struct_functin_ret ... ok [INFO] [stdout] 77 [INFO] [stdout] 3 [INFO] [stdout] 99 [INFO] [stdout] test tests::struct_nested_array_field_modify ... ok [INFO] [stdout] test tests::struct_nested_array_field_access ... ok [INFO] [stdout] false [INFO] [stdout] test tests::struct_nested_field_access ... ok [INFO] [stdout] 50 [INFO] [stdout] test tests::struct_eq_false ... ok [INFO] [stdout] test tests::struct_nested_field_modify ... ok [INFO] [stdout] true [INFO] [stdout] 8 [INFO] [stdout] 9 [INFO] [stdout] 3 [INFO] [stdout] test tests::struct_deep_structural_eq ... ok [INFO] [stdout] test tests::struct_passed_to_function ... ok [INFO] [stdout] test tests::struct_ref ... ok [INFO] [stdout] test tests::struct_structs_array_access ... ok [INFO] [stdout] 50 [INFO] [stdout] test tests::struct_unknown_field ... ignored, stalls CI runners; run with --ignored [INFO] [stdout] test tests::struct_field_assign_wrong_type - should panic ... ok [INFO] [stdout] test tests::struct_trailing_comma ... ok [INFO] [stdout] test tests::struct_structs_array_modify ... ok [INFO] [stdout] 2 [INFO] [stdout] test tests::try_catch_catches_error ... ok [INFO] [stdout] 2 [INFO] [stdout] test tests::the_expansion_limit_resets_between_macros ... ok [INFO] [stdout] 1 [INFO] [stdout] 2 [INFO] [stdout] 0 [INFO] [stdout] 1 [INFO] [stdout] 2 [INFO] [stdout] The answer to the Ultimate Question of Life, the Universe, and Everything is 42. [INFO] [stdout] 42 [INFO] [stdout] test tests::struct_unknown_field_access - should panic ... ok [INFO] [stdout] 1 [INFO] [stdout] test tests::struct_unknown_name - should panic ... ok [INFO] [stdout] test tests::throw_is_catchable ... ok [INFO] [stdout] test tests::stress_compiler_large_and_recursive ... ok [INFO] [stdout] 66 [INFO] [stdout] test tests::try_catch_division_by_zero ... 1 [INFO] [stdout] ok [INFO] [stdout] test tests::try_catch_filtered_fallthrough ... ok [INFO] [stdout] test tests::the_answer ... ok [INFO] [stdout] test tests::try_catch_filtered_match ... ok [INFO] [stdout] test tests::stress_parser_unbalanced_and_huge ... ok [INFO] [stdout] test tests::try_catch_insufficient - should panic ... ok [INFO] [stdout] test tests::try_catch_no_error ... ok [INFO] [stdout] test tests::type_arguments_on_a_builtin_impl_method_that_takes_none ... ok [INFO] [stdout] test tests::type_arguments_on_a_method_that_takes_none ... ok [INFO] [stdout] test tests::type_arguments_on_a_builtin_method ... ok [INFO] [stdout] 3 [INFO] [stdout] true [INFO] [stdout] 9 [INFO] [stdout] test tests::type_arguments_on_a_plain_function ... ok [INFO] [stdout] test tests::two_for_loops_in_sequence ... ok [INFO] [stdout] test tests::unannotated_params_still_specialise_per_call ... ok [INFO] [stdout] test tests::type_function ... ok [INFO] [stdout] OTHER [INFO] [stdout] 1 [INFO] [stdout] 7 [INFO] [stdout] test tests::type_arguments_on_a_plain_type ... ok [INFO] [stdout] test tests::unannotated_return_still_infers ... ok [INFO] [stdout] test tests::unknown_macro_is_a_compile_error ... ok [INFO] [stdout] test tests::unfolded_pow_rejects_mixed_operands ... ok [INFO] [stdout] test tests::unknown_type_parameter_in_a_declaration ... ok [INFO] [stdout] 10 [INFO] [stdout] 20 [INFO] [stdout] 30 [INFO] [stdout] 1 [INFO] [stdout] 2 [INFO] [stdout] 109376 [INFO] [stdout] 15 [INFO] [stdout] test tests::unused_nested_partial_branch ... ok [INFO] [stdout] test tests::unreachable_return_after_exhaustive_condition ... ok [INFO] [stdout] 5 [INFO] [stdout] test tests::unused_type_parameter_is_legal ... ok [INFO] [stdout] test tests::void_recursion_restores_the_callers_registers ... ok [INFO] [stdout] test tests::while_accepts_non_bool_condition ... ok [INFO] [stdout] test tests::unusued_branch_wth_return ... ok [INFO] [stdout] test tests::while_and_condition ... ok [INFO] [stdout] test tests::while_fn_called_twice ... ok [INFO] [stdout] test tests::while_never_executes ... ok [INFO] [stdout] test tests::wrong_type_argument_count_on_a_function ... ok [INFO] [stdout] test update::tests::everything_else_is_a_no ... ok [INFO] [stdout] test tests::wrong_type_argument_count_on_a_type ... ok [INFO] [stdout] test update::tests::headers_without_a_version_give_nothing ... ok [INFO] [stdout] test update::tests::only_a_plain_yes_is_a_yes ... ok [INFO] [stdout] test update::tests::newer_versions_win ... ok [INFO] [stdout] test update::tests::short_versions_pad_with_zeros ... ok [INFO] [stdout] test update::tests::same_or_older_versions_do_not ... ok [INFO] [stdout] test update::tests::tag_comes_from_the_last_location_header ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/candela-025a646cce7b8228) [INFO] [stdout] test update::tests::trailing_slashes_and_indented_headers_are_fine ... ok [INFO] [stderr] Running tests/cdlb_roundtrip.rs (/opt/rustwide/target/debug/deps/cdlb_roundtrip-d1d9fe5fb40d690f) [INFO] [stdout] [INFO] [stdout] test result: ok. 409 passed; 0 failed; 4 ignored; 0 measured; 0 filtered out; finished in 1.90s [INFO] [stdout] [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; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 13 tests [INFO] [stdout] test current_format_version_is_five_and_v2_is_rejected ... ok [INFO] [stdout] test bytecode_round_trips_through_load ... ok [INFO] [stdout] test empty_main_round_trips ... ok [INFO] [stdout] test cli_whole_program_output_matches_source_run ... ok [INFO] [stdout] test host_block_program_builds_but_load_names_missing_host_fn ... ok [INFO] [stdout] 1.3.1 [INFO] [stdout] test truncated_is_rejected ... ok [INFO] [stdout] test unknown_version_is_rejected ... ok [INFO] [stdout] test dyn_lib_program_round_trips_and_rebinds ... ok [INFO] [stdout] 5 [INFO] [stdout] 15 [INFO] [stdout] 2 [INFO] [stdout] test method_program_round_trips_and_runs ... ok [INFO] [stdout] 42 [INFO] [stdout] test enum_values_roundtrip_through_cdlb ... ok [INFO] [stdout] test bad_magic_is_rejected ... ok [INFO] [stdout] 42 [INFO] [stdout] 3 [INFO] [stdout] ab [INFO] [stdout] 7 [INFO] [stdout] z [INFO] [stdout] 9 [INFO] [stdout] test generic_program_round_trips_and_runs ... ok [INFO] [stdout] test multi_file_program_is_captured_whole ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stderr] Running tests/dylib_dir.rs (/opt/rustwide/target/debug/deps/dylib_dir-908c294885bee7bc) [INFO] [stdout] 1.3.1 [INFO] [stderr] Running tests/embedding.rs (/opt/rustwide/target/debug/deps/embedding-5ac62798d4b451b9) [INFO] [stdout] 1.3.1 [INFO] [stdout] test the_script_s_own_directory_still_resolves ... ok [INFO] [stdout] test an_artifact_load_searches_the_named_directory ... ok [INFO] [stdout] test a_path_import_is_relative_to_the_named_directory ... ok [INFO] [stdout] 1.3.1 [INFO] [stdout] test a_named_directory_is_searched ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 50 tests [INFO] [stdout] test a_call_into_a_generic_function_specializes_after_compilation ... ok [INFO] [stdout] test a_declaration_that_disagrees_with_the_given_signature_is_a_diagnostic ... ok [INFO] [stdout] test a_diagnostic_mid_call_does_not_desync_a_later_closure ... ok [INFO] [stdout] test a_diagnostic_mid_call_does_not_corrupt_a_later_call ... ok [INFO] [stdout] test a_failing_host_fn_raises_at_the_call_site ... ok [INFO] [stdout] test a_generic_functions_index_is_bounds_checked ... ok [INFO] [stdout] test a_given_signature_does_not_bind_to_a_variadic_declaration ... ok [INFO] [stdout] test a_host_fn_named_like_a_builtin_keeps_its_declared_type ... ok [INFO] [stdout] test a_diagnostic_mid_call_does_not_leave_a_stale_specialization_address ... ok [INFO] [stdout] test a_macro_expansion_is_an_argument_like_any_other ... ok [INFO] [stdout] test a_negative_index_is_a_diagnostic ... ok [INFO] [stdout] test a_recursive_calls_index_is_bounds_checked ... ok [INFO] [stdout] test a_failing_variadic_host_fn_raises ... ok [INFO] [stdout] test a_fallible_closure_is_signature_checked_on_its_value_type ... ok [INFO] [stdout] test a_given_signature_can_fail ... ok [INFO] [stdout] test a_lookup_miss_feeding_a_negative_index_is_a_diagnostic ... ok [INFO] [stdout] test a_registered_macro_expands_where_an_expression_goes ... ok [INFO] [stdout] test a_slice_out_of_range_is_a_diagnostic ... ok [INFO] [stdout] test an_expander_error_lands_on_the_offending_byte ... ok [INFO] [stdout] test a_void_host_fn_can_fail ... ok [INFO] [stdout] test a_string_index_read_and_write_out_of_range_are_diagnostics ... ok [INFO] [stderr] Running tests/imports.rs (/opt/rustwide/target/debug/deps/imports-8b985ef902b4c741) [INFO] [stdout] test a_signature_given_as_data_binds_and_calls ... ok [INFO] [stdout] test a_script_catches_a_host_error ... ok [INFO] [stdout] test an_unregistered_macro_fails_the_compile ... ok [INFO] [stdout] test an_out_of_range_write_is_a_diagnostic ... ok [INFO] [stdout] test annotated_params_accept_matching_host_arguments ... ok [INFO] [stdout] test array_arg_and_return_roundtrip ... ok [INFO] [stdout] test array_returned_by_host_fn ... ok [INFO] [stdout] test derive_shape_array_literal_and_named_fn ... ok [INFO] [stdout] test fixed_closure_with_variadic_declaration_is_a_diagnostic ... ok [INFO] [stdout] test host_fn_roundtrip_matches_snippet ... ok [INFO] [stdout] test concatenating_a_non_string_is_a_diagnostic ... ok [INFO] [stdout] test builtin_names_are_shadowed_by_their_host_declarations ... ok [INFO] [stdout] test map_roundtrip_both_directions ... ok [INFO] [stdout] test missing_host_registration_is_a_diagnostic ... ok [INFO] [stdout] test nested_array_of_maps_track_list ... ok [INFO] [stdout] test nested_host_call_binds_its_own_args ... ok [INFO] [stdout] test nested_host_call_in_method_arg ... ok [INFO] [stdout] test runtime_error_surfaces_as_diagnostic ... ok [INFO] [stdout] test scalar_marshalling_roundtrips ... ok [INFO] [stdout] test scan_regions_finds_what_the_lexer_finds ... ok [INFO] [stdout] test signature_mismatch_is_a_diagnostic ... ok [INFO] [stdout] test annotated_params_reject_mismatched_host_arguments ... ok [INFO] [stdout] test collection_signature_mismatch_is_a_diagnostic ... ok [INFO] [stdout] test state_persists_across_calls ... ok [INFO] [stdout] test variadic_closure_with_fixed_declaration_is_a_diagnostic ... ok [INFO] [stdout] test unannotated_params_still_take_host_argument_types ... ok [INFO] [stdout] test variadic_host_fn_receives_all_args ... ok [INFO] [stdout] test unknown_macros_can_be_allowed_for_tooling ... ok [INFO] [stdout] test unknown_script_fn_is_a_diagnostic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 50 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test diamond_bare_imports_are_not_a_collision ... ok [INFO] [stdout] test bare_library_import_merges_enum_and_methods ... ok [INFO] [stdout] test bare_file_import_merges_into_scope ... ok [INFO] [stdout] test bare_import_collision_between_two_imports_errors ... ok [INFO] [stdout] test aliased_import_stays_namespaced ... ok [INFO] [stdout] test bare_import_collision_with_local_definition_errors ... ok [INFO] [stdout] test legacy_namespaced_import_suggests_replacement ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running tests/repl.rs (/opt/rustwide/target/debug/deps/repl-1d9d3d5a297b0963) [INFO] [stdout] running 1 test [INFO] [stderr] Running tests/runtime_errors.rs (/opt/rustwide/target/debug/deps/runtime_errors-89019b8625252d28) [INFO] [stdout] test a_session_prints_its_prompts_output_and_errors ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test a_bare_return_in_a_loop_body_leaves_the_function ... ok [INFO] [stdout] test a_bare_return_in_a_nested_if_leaves_the_function ... ok [INFO] [stdout] test a_bare_return_in_an_else_branch_leaves_the_function ... ok [INFO] [stdout] test a_call_inside_try_returns ... ok [INFO] [stdout] test a_bare_return_at_the_top_of_a_body_skips_the_rest ... ok [INFO] [stdout] test a_bare_return_as_the_last_statement_still_runs_the_body ... ok [INFO] [stdout] test a_catch_hands_the_resuming_call_its_registers_back ... ok [INFO] [stdout] test a_bare_return_leaves_the_function ... ok [INFO] [stdout] test a_catch_in_a_recursion_that_returns_a_value_unwinds_the_same ... ok [INFO] [stdout] test a_negative_exponent_raises_at_run_time ... ok [INFO] [stdout] test a_parsed_document_survives_later_allocation ... ok [INFO] [stdout] test a_slice_starting_at_the_end_is_empty ... ok [INFO] [stdout] test a_syntax_error_prints_a_report_and_stops ... ok [INFO] [stdout] test a_throw_across_several_calls_leaves_one_level_to_restore ... ok [INFO] [stdout] test a_throw_below_the_block_reaches_the_catch ... ok [INFO] [stdout] test a_throw_from_inside_a_catch_unwinds_the_frames_above_it ... ok [INFO] [stdout] test an_unclosed_delimiter_is_reported_against_its_opener ... ok [INFO] [stdout] test deeply_nested_json_raises_rather_than_dying ... ok [INFO] [stdout] test fs_append_creates_a_missing_file ... ok [INFO] [stdout] test a_map_prints_every_entry_separated_by_commas ... ok [INFO] [stdout] test a_void_recursive_call_gives_the_caller_its_locals_back ... ok [INFO] [stdout] test every_type_prints_in_its_documented_shape ... ok [INFO] [stdout] test mutual_void_recursion_unwinds_in_order ... ok [INFO] [stdout] test nested_catches_in_one_frame_restore_once ... ok [INFO] [stdout] test a_return_at_the_program_top_level_ends_the_program ... ok [INFO] [stdout] test input_writes_its_prompt_then_takes_the_line ... ok [INFO] [stdout] test output_a_reader_left_behind_costs_the_line_not_the_run ... ok [INFO] [stdout] test not_a_number_and_infinities_print ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s [INFO] [stdout] [INFO] [stderr] Running tests/std_library.rs (/opt/rustwide/target/debug/deps/std_library-2193e154f5ea33a1) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] 7 [INFO] [stdout] 3 [INFO] [stdout] [1,2,3] [INFO] [stdout] 2 [INFO] [stdout] test json_map_set_inline_into_cdlb ... ok [INFO] [stdout] test convert_module ... ok [INFO] [stdout] test errors_across_modules ... ok [INFO] [stdout] test list_reductions ... ok [INFO] [stdout] 3 [INFO] [stdout] 7 [INFO] [stdout] true [INFO] [stdout] x [INFO] [stdout] test list_methods ... ok [INFO] [stdout] test assert_module ... ok [INFO] [stdout] test option_result_inline_into_cdlb ... ok [INFO] [stdout] test list_slices ... ok [INFO] [stdout] test std_inlines_into_cdlb ... ok [INFO] [stdout] test map_module ... ok [INFO] [stdout] test result_module ... ok [INFO] [stdout] test set_module ... ok [INFO] [stdout] test option_module ... ok [INFO] [stdout] test json_module ... ok [INFO] [stderr] Running tests/vm_embedding.rs (/opt/rustwide/target/debug/deps/vm_embedding-85c252ef3da94c01) [INFO] [stdout] test string_module ... ok [INFO] [stdout] test default_resolution_needs_no_env ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test a_runtime_error_comes_back_as_a_diagnostic ... ok [INFO] [stdout] test a_slice_out_of_range_through_an_artifact_is_a_diagnostic ... ok [INFO] [stdout] test a_trampoline_is_reusable ... ok [INFO] [stdout] test a_lookup_miss_feeding_a_negative_index_through_an_artifact_is_a_diagnostic ... ok [INFO] [stdout] test a_negative_index_through_an_artifact_is_a_diagnostic ... ok [INFO] [stdout] test a_closure_of_the_wrong_shape_is_refused_at_load ... ok [INFO] [stdout] test a_partly_covered_registry_names_what_is_missing ... ok [INFO] [stdout] test a_signature_given_as_data_binds_at_load ... ok [INFO] [stdout] test variadic_host_fn_binds_through_an_artifact ... ok [INFO] [stdout] test host_calls_bind_at_load_and_exports_run_them ... ok [INFO] [stdout] test write_and_string_index_out_of_range_through_an_artifact_are_diagnostics ... ok [INFO] [stdout] test a_host_fn_error_comes_back_from_an_artifact_call ... ok [INFO] [stdout] test an_any_parameter_accepts_every_value ... ok [INFO] [stdout] test collections_cross_the_boundary ... ok [INFO] [stdout] test arguments_are_checked_against_the_declaration ... ok [INFO] [stderr] Doc-tests candela [INFO] [stdout] test calling_a_name_the_artifact_does_not_export ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test src/engine.rs - engine (line 9) - compile ... ok [INFO] [stdout] test src/engine.rs - engine::Engine::register_host_fn (line 96) - compile ... ok [INFO] [stdout] test src/engine.rs - engine::Engine::register_host_fn_typed (line 123) - compile ... ok [INFO] [stdout] test src/macros.rs - macros (line 12) - compile ... ok [INFO] [stdout] test src/engine.rs - engine::Engine::register_macro (line 188) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.62s; merged doctests compilation took 0.60s [INFO] running `Command { std: "docker" "inspect" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf", kill_on_drop: false }` [INFO] [stdout] eef17ec9a7a3bbd8d53b8658f6424b244667874b1e33ab2fee7a89dd02985caf