[INFO] cloning repository https://github.com/tobiasbick/functional-pascal [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/tobiasbick/functional-pascal" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftobiasbick%2Ffunctional-pascal", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftobiasbick%2Ffunctional-pascal'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b80fe86a680d3c4587abbed32d09c66385a04fbe [INFO] testing tobiasbick/functional-pascal against 1.95.0 for beta-1.96-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Ftobiasbick%2Ffunctional-pascal" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/tobiasbick/functional-pascal [INFO] finished tweaking git repo https://github.com/tobiasbick/functional-pascal [INFO] tweaked toml for git repo https://github.com/tobiasbick/functional-pascal written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/tobiasbick/functional-pascal on toolchain 1.95.0 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/tobiasbick/functional-pascal 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Downloaded serde_spanned v1.1.1 [INFO] [stderr] Downloaded toml v0.9.12+spec-1.1.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0be03fc4e68c1d127d67e5582be50eae59562817d5f0652397c6b3888b6ebc03 [INFO] running `Command { std: "docker" "start" "-a" "0be03fc4e68c1d127d67e5582be50eae59562817d5f0652397c6b3888b6ebc03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0be03fc4e68c1d127d67e5582be50eae59562817d5f0652397c6b3888b6ebc03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0be03fc4e68c1d127d67e5582be50eae59562817d5f0652397c6b3888b6ebc03", kill_on_drop: false }` [INFO] [stdout] 0be03fc4e68c1d127d67e5582be50eae59562817d5f0652397c6b3888b6ebc03 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ea88ff4455bd8c7fcba773db2fd082ef5a5d9615718ea8f5d8e49534005c2799 [INFO] running `Command { std: "docker" "start" "-a" "ea88ff4455bd8c7fcba773db2fd082ef5a5d9615718ea8f5d8e49534005c2799", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.184 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling fpas-diagnostics v0.0.1 (/opt/rustwide/workdir/crates/fpas-diagnostics) [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Compiling winnow v1.0.1 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling fpas-bytecode v0.0.1 (/opt/rustwide/workdir/crates/fpas-bytecode) [INFO] [stderr] Compiling fpas-lexer v0.0.1 (/opt/rustwide/workdir/crates/fpas-lexer) [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling fpas-parser v0.0.1 (/opt/rustwide/workdir/crates/fpas-parser) [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling mio v1.2.0 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling fpas-project v0.0.1 (/opt/rustwide/workdir/crates/fpas-project) [INFO] [stderr] Compiling fpas-std v0.0.1 (/opt/rustwide/workdir/crates/fpas-std) [INFO] [stderr] Compiling fpas-sema v0.0.1 (/opt/rustwide/workdir/crates/fpas-sema) [INFO] [stderr] Compiling fpas-vm v0.0.1 (/opt/rustwide/workdir/crates/fpas-vm) [INFO] [stderr] Compiling fpas-compiler v0.0.1 (/opt/rustwide/workdir/crates/fpas-compiler) [INFO] [stderr] Compiling fpas-cli v0.0.1 (/opt/rustwide/workdir/crates/fpas-cli) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 22.44s [INFO] running `Command { std: "docker" "inspect" "ea88ff4455bd8c7fcba773db2fd082ef5a5d9615718ea8f5d8e49534005c2799", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ea88ff4455bd8c7fcba773db2fd082ef5a5d9615718ea8f5d8e49534005c2799", kill_on_drop: false }` [INFO] [stdout] ea88ff4455bd8c7fcba773db2fd082ef5a5d9615718ea8f5d8e49534005c2799 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 99cf7dd412ed0146c833f67345ffe874debc911ddcaf1cb0ba3abaf66e401e94 [INFO] running `Command { std: "docker" "start" "-a" "99cf7dd412ed0146c833f67345ffe874debc911ddcaf1cb0ba3abaf66e401e94", kill_on_drop: false }` [INFO] [stderr] Compiling fpas-parser v0.0.1 (/opt/rustwide/workdir/crates/fpas-parser) [INFO] [stderr] Compiling fpas-bytecode v0.0.1 (/opt/rustwide/workdir/crates/fpas-bytecode) [INFO] [stderr] Compiling fpas-lexer v0.0.1 (/opt/rustwide/workdir/crates/fpas-lexer) [INFO] [stderr] Compiling fpas-diagnostics v0.0.1 (/opt/rustwide/workdir/crates/fpas-diagnostics) [INFO] [stderr] Compiling fpas-project v0.0.1 (/opt/rustwide/workdir/crates/fpas-project) [INFO] [stderr] Compiling fpas-std v0.0.1 (/opt/rustwide/workdir/crates/fpas-std) [INFO] [stderr] Compiling fpas-sema v0.0.1 (/opt/rustwide/workdir/crates/fpas-sema) [INFO] [stderr] Compiling fpas-vm v0.0.1 (/opt/rustwide/workdir/crates/fpas-vm) [INFO] [stderr] Compiling fpas-compiler v0.0.1 (/opt/rustwide/workdir/crates/fpas-compiler) [INFO] [stderr] Compiling fpas-cli v0.0.1 (/opt/rustwide/workdir/crates/fpas-cli) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 11.71s [INFO] running `Command { std: "docker" "inspect" "99cf7dd412ed0146c833f67345ffe874debc911ddcaf1cb0ba3abaf66e401e94", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "99cf7dd412ed0146c833f67345ffe874debc911ddcaf1cb0ba3abaf66e401e94", kill_on_drop: false }` [INFO] [stdout] 99cf7dd412ed0146c833f67345ffe874debc911ddcaf1cb0ba3abaf66e401e94 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 08825860c1e0ebc13ad07b937e815e579321f98f6f97de4511fda0617ea7b11c [INFO] running `Command { std: "docker" "start" "-a" "08825860c1e0ebc13ad07b937e815e579321f98f6f97de4511fda0617ea7b11c", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.11s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_bytecode-9228f35261d3a03c) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test chunk::tests::patch_jump_rejects_target_past_chunk_end ... ok [INFO] [stdout] test chunk::tests::uses_spawn_tasks_detects_spawn_opcodes ... ok [INFO] [stdout] test chunk::tests::add_constant_reuses_existing_value ... ok [INFO] [stdout] test chunk::tests::uses_spawn_tasks_ignores_yield_only_chunks ... ok [INFO] [stdout] test intrinsic::decode::tests::intrinsic_round_trip_encode_decode ... ok [INFO] [stdout] test intrinsic::decode::tests::all_intrinsics_list_is_complete ... ok [INFO] [stdout] test chunk::tests::add_constant_returns_error_when_pool_limit_is_exceeded ... ok [INFO] [stderr] Running tests/parallel_vm_phase1.rs (/opt/rustwide/target/debug/deps/parallel_vm_phase1-23b61c39c8d4f37d) [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test constant_pool_and_locations_do_not_affect_scan ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fpas-4bf6d8a5073e21e2) [INFO] [stdout] test detects_both_spawn_variants_in_one_chunk ... ok [INFO] [stdout] test detects_spawn_detached_task ... ok [INFO] [stdout] test detects_spawn_after_many_non_spawn_ops ... ok [INFO] [stdout] test detects_spawn_task_with_max_u8_arity ... ok [INFO] [stdout] test detects_spawn_at_first_instruction ... ok [INFO] [stdout] test detects_spawn_task_with_zero_arity ... ok [INFO] [stdout] test default_chunk_matches_new ... ok [INFO] [stdout] test empty_chunk_does_not_use_spawn_tasks ... ok [INFO] [stdout] test intrinsic_only_chunk_does_not_use_spawn_tasks ... ok [INFO] [stdout] test spawn_detection_is_independent_of_functions_table ... ok [INFO] [stdout] test typical_control_flow_without_spawn ... ok [INFO] [stdout] test spawn_task_arity_differences_all_detected ... ok [INFO] [stdout] test yield_mixed_with_spawn_still_true ... ok [INFO] [stdout] test yield_only_does_not_use_spawn_tasks ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 466 tests [INFO] [stdout] test main_tests::diagnostics::cli_renders_compile_stage_output ... ok [INFO] [stdout] test main_tests::diagnostics::cli_renders_parse_stage_output ... ok [INFO] [stdout] test main_tests::diagnostics::cli_renders_lex_stage_output ... ok [INFO] [stdout] test main_tests::diagnostics::cli_reports_compiler_directive_syntax_as_lex_error ... ok [INFO] [stdout] test main_tests::diagnostics::cli_renders_sema_stage_output ... ok [INFO] [stdout] test main_tests::input::resolve_cli_config_rejects_define_style_flags ... ok [INFO] [stdout] test main_tests::input::resolve_cli_input_fails_when_no_project_file_exists ... ok [INFO] [stdout] test main_tests::input::resolve_cli_input_rejects_more_than_one_argument ... ok [INFO] [stdout] test main_tests::input::resolve_cli_input_rejects_unknown_extension ... ok [INFO] [stdout] test main_tests::input::resolve_cli_input_uses_explicit_project_file ... ok [INFO] [stdout] test main_tests::input::resolve_cli_config_help_and_version_are_exclusive ... ok [INFO] [stdout] test main_tests::input::resolve_cli_input_fails_when_multiple_project_files_exist ... ok [INFO] [stdout] test main_tests::input::resolve_cli_input_handles_case_insensitive_extensions ... ok [INFO] [stdout] test main_tests::input::resolve_cli_input_uses_explicit_source_file ... ok [INFO] [stdout] test main_tests::diagnostics::cli_renders_runtime_stage_output ... ok [INFO] [stdout] test main_tests::projects::edge_cases::duplicate_unit_names_in_different_files_rejected ... ok [INFO] [stdout] test main_tests::projects::edge_cases::self_import_reports_cycle ... ok [INFO] [stdout] test main_tests::concurrency::go_and_task_wait ... ok [INFO] [stdout] test main_tests::projects::edge_cases::calling_private_symbol_from_only_private_unit_fails ... ok [INFO] [stdout] test main_tests::input::run_cli_help_and_version_exit_zero ... ok [INFO] [stdout] test main_tests::projects::edge_cases::unused_import_does_not_cause_error ... ok [INFO] [stdout] test main_tests::projects::edge_cases::unit_with_only_private_declarations_exports_nothing ... ok [INFO] [stdout] test main_tests::projects::errors::run_cli_rejects_library_projects ... ok [INFO] [stdout] test main_tests::projects::edge_cases::empty_unit_compiles_successfully ... ok [INFO] [stdout] test main_tests::projects::edge_cases::duplicate_uses_entries_are_harmless ... ok [INFO] [stdout] test main_tests::projects::errors::run_cli_reports_ambiguous_user_imports ... ok [INFO] [stdout] test main_tests::projects::edge_cases::unit_name_resolved_case_insensitively ... ok [INFO] [stdout] test main_tests::projects::errors::run_cli_reports_unit_sema_errors_with_the_unit_path ... ok [INFO] [stdout] test main_tests::projects::errors::run_cli_reports_unknown_user_unit ... ok [INFO] [stdout] test main_tests::projects::edge_cases::diamond_dependency_graph ... ok [INFO] [stdout] test main_tests::projects::edge_cases::unreachable_unit_is_not_linked ... ok [INFO] [stdout] test main_tests::projects::edge_cases::unit_name_is_resolved_from_declaration_not_file_path ... ok [INFO] [stdout] test main_tests::projects::errors::run_cli_reports_unit_runtime_errors_with_the_unit_path ... ok [INFO] [stdout] test main_tests::projects::errors::run_cli_reports_cyclic_unit_dependencies ... ok [INFO] [stdout] test main_tests::projects::qualified::case_insensitive_qualified_call ... ok [INFO] [stdout] test main_tests::projects::resolution::run_cli_resolves_nested_project_main_entry ... ok [INFO] [stdout] test main_tests::projects::run::run_cli_executes_multi_file_project_end_to_end ... ok [INFO] [stdout] test main_tests::projects::run::run_cli_executes_program_project_main_file ... ok [INFO] [stdout] test main_tests::projects::edge_cases::single_segment_unit_name_compiles ... ok [INFO] [stdout] test main_tests::projects::qualified::qualified_name_call_to_user_unit_function ... ok [INFO] [stdout] test main_tests::projects::qualified::mixed_short_and_qualified_calls_in_same_program ... ok [INFO] [stdout] test main_tests::stdlib::array::all::all_match ... ok [INFO] [stdout] test main_tests::projects::warnings::run_cli_emits_warning_for_duplicate_source_file_and_still_runs ... ok [INFO] [stdout] test main_tests::stdlib::array::all::all_some_fail ... ok [INFO] [stdout] test main_tests::stdlib::array::any::any_empty_array ... ok [INFO] [stdout] test main_tests::stdlib::array::concat::concat_empty_left ... ok [INFO] [stdout] test main_tests::stdlib::array::concat::concat_empty_right ... ok [INFO] [stdout] test main_tests::stdlib::array::concat::concat_rejects_incompatible_element_types ... ok [INFO] [stdout] test main_tests::stdlib::array::concat::concat_both_empty ... ok [INFO] [stdout] test main_tests::projects::run::run_cli_shares_constants_via_unit_instead_of_include ... ok [INFO] [stdout] test main_tests::stdlib::array::any::any_some_match ... ok [INFO] [stdout] test main_tests::stdlib::array::contains::contains_found ... ok [INFO] [stdout] test main_tests::stdlib::array::contains::contains_not_found ... ok [INFO] [stdout] test main_tests::stdlib::array::concat::concat_normal ... ok [INFO] [stdout] test main_tests::stdlib::array::edge__array_index_out_of_bounds::array_index_out_of_bounds_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::array::any::any_no_match ... ok [INFO] [stdout] test main_tests::stdlib::array::fill::fill_normal ... ok [INFO] [stdout] test main_tests::stdlib::array::fill::fill_string_elements ... ok [INFO] [stdout] test main_tests::stdlib::array::fill::fill_zero_count ... ok [INFO] [stdout] test main_tests::input::resolve_cli_input_discovers_project_file_when_no_args_are_given ... ok [INFO] [stdout] test main_tests::stdlib::array::filter::filter_none_match ... ok [INFO] [stdout] test main_tests::projects::qualified::qualified_const_access_from_user_unit ... ok [INFO] [stdout] test main_tests::projects::edge_cases::three_unit_cyclic_dependency ... ok [INFO] [stdout] test main_tests::concurrency::go_with_string_return ... ok [INFO] [stdout] test main_tests::projects::qualified::deep_transitive_chain_four_levels ... ok [INFO] [stdout] test main_tests::stdlib::array::find::find_empty_array ... ok [INFO] [stdout] test main_tests::stdlib::array::find::find_not_found ... ok [INFO] [stdout] test main_tests::stdlib::array::flatmap::flat_map_rejects_scalar_mapper_result ... ok [INFO] [stdout] test main_tests::stdlib::array::filter::filter_evens ... ok [INFO] [stdout] test main_tests::stdlib::array::find::find_found ... ok [INFO] [stdout] test main_tests::projects::warnings::run_cli_emits_warning_for_program_source_file_and_still_runs ... ok [INFO] [stdout] test main_tests::concurrency::task_wait_all_empty_array ... ok [INFO] [stdout] test main_tests::stdlib::array::flatmap::flat_map_empty_array ... ok [INFO] [stdout] test main_tests::stdlib::array::findindex::find_index_found ... ok [INFO] [stdout] test main_tests::concurrency::go_with_arguments ... ok [INFO] [stdout] test main_tests::stdlib::array::findindex::find_index_empty_array ... ok [INFO] [stdout] test main_tests::concurrency::task_wait_all ... ok [INFO] [stdout] test main_tests::stdlib::array::flatmap::flat_map_empty_results ... ok [INFO] [stdout] test main_tests::stdlib::array::all::all_empty_array ... ok [INFO] [stdout] test main_tests::stdlib::array::indexof::index_of_found ... ok [INFO] [stdout] test main_tests::stdlib::array::pop::pop_empty_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::array::length::length_normal ... ok [INFO] [stdout] test main_tests::stdlib::array::findindex::find_index_not_found ... ok [INFO] [stdout] test main_tests::stdlib::array::fully_qualified_names::fully_qualified_length ... ok [INFO] [stdout] test main_tests::stdlib::array::reverse::reverse_single_element ... ok [INFO] [stdout] test main_tests::stdlib::array::slice::slice_out_of_bounds_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::array::push::push_to_empty ... ok [INFO] [stdout] test main_tests::stdlib::array::reverse::reverse_normal ... ok [INFO] [stdout] test main_tests::stdlib::array::map::map_double ... ok [INFO] [stdout] test main_tests::stdlib::array::sort::sort_does_not_mutate_original ... ok [INFO] [stdout] test main_tests::stdlib::array::push::push_appends ... ok [INFO] [stdout] test main_tests::stdlib::array::reduce::reduce_empty_returns_init ... ok [INFO] [stdout] test main_tests::stdlib::array::map::map_empty_array ... ok [INFO] [stdout] test main_tests::stdlib::array::reduce::reduce_sum ... ok [INFO] [stdout] test main_tests::stdlib::array::foreach::for_each_empty_array ... ok [INFO] [stdout] test main_tests::stdlib::array::indexof::index_of_not_found ... ok [INFO] [stdout] test main_tests::stdlib::array::pop::pop_returns_last ... ok [INFO] [stdout] test main_tests::stdlib::console::writeln_real ... ok [INFO] [stdout] test main_tests::stdlib::console::writeln_without_uses_is_error ... ok [INFO] [stdout] test main_tests::stdlib::console::writeln_boolean ... ok [INFO] [stdout] test main_tests::stdlib::console::writeln_string ... ok [INFO] [stdout] test main_tests::stdlib::console::writeln_no_args_emits_newline ... ok [INFO] [stdout] test main_tests::stdlib::array::length::length_empty ... ok [INFO] [stdout] test main_tests::stdlib::console::write_without_newline ... ok [INFO] [stdout] test main_tests::stdlib::array::slice::slice_normal ... ok [INFO] [stdout] test main_tests::stdlib::array::foreach::for_each_normal ... ok [INFO] [stdout] test main_tests::stdlib::array::sort::sort_integers ... ok [INFO] [stdout] test main_tests::stdlib::conv::bool_to_str_true ... ok [INFO] [stdout] test main_tests::stdlib::console::fully_qualified_write ... ok [INFO] [stdout] test main_tests::stdlib::conv::hex_to_int_empty_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::conv::hex_to_int_dollar_prefix ... ok [INFO] [stdout] test main_tests::stdlib::conv::hex_to_int_invalid_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::conv::hex_to_int_normal ... ok [INFO] [stdout] test main_tests::stdlib::array::sort::sort_already_sorted ... ok [INFO] [stdout] test main_tests::stdlib::conv::char_to_str ... ok [INFO] [stdout] test main_tests::stdlib::array::flatmap::flat_map_normal ... ok [INFO] [stdout] test main_tests::stdlib::console::fully_qualified_writeln ... ok [INFO] [stdout] test main_tests::stdlib::conv::fully_qualified_int_to_str ... ok [INFO] [stdout] test main_tests::stdlib::conv::hex_to_int_lowercase ... ok [INFO] [stdout] test main_tests::stdlib::array::sort::sort_single_element ... ok [INFO] [stdout] test main_tests::stdlib::console::writeln_integer ... ok [INFO] [stdout] test main_tests::stdlib::conv::bool_to_str_false ... ok [INFO] [stdout] test main_tests::stdlib::conv::hex_to_int_0x_prefix ... ok [INFO] [stdout] test main_tests::stdlib::conv::int_to_str_zero ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_int_empty_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::conv::real_to_str ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_bool_invalid_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_int_invalid_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_bool_empty_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::conv::int_to_real ... ok [INFO] [stdout] test main_tests::stdlib::conv::int_to_hex_normal ... ok [INFO] [stdout] test main_tests::stdlib::conv::hex_to_int_uppercase_0x_prefix ... ok [INFO] [stdout] test main_tests::stdlib::conv::int_to_hex_zero ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_int_valid ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_bool_false ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_int_with_whitespace ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_bool_case_insensitive ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_real_empty_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::dict::dict_indexing::dict_index_read ... ok [INFO] [stdout] test main_tests::stdlib::console::writeln_multiple_args_variadic ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_real_invalid_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::dict::dict_indexing::dict_index_missing_key_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::conv::int_to_str_positive ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_real_valid ... ok [INFO] [stdout] test main_tests::stdlib::conv::int_to_str_negative ... ok [INFO] [stdout] test main_tests::stdlib::conv::int_to_hex_large ... ok [INFO] [stdout] test main_tests::stdlib::conv::int_to_hex_negative ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_real_with_whitespace ... ok [INFO] [stdout] test main_tests::stdlib::dict::ambiguity__length_with_std_str_and_std_array::dict_length_ambiguity_requires_qualified ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_break_stops_iteration ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_single_entry ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_empty_no_iterations ... ok [INFO] [stdout] test main_tests::stdlib::dict::get::dict_get_empty_dict ... ok [INFO] [stdout] test main_tests::stdlib::dict::dict_indexing::dict_mutable_insert_and_update ... ok [INFO] [stdout] test main_tests::stdlib::dict::get::dict_get_found ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_key_used_to_access_value ... ok [INFO] [stdout] test main_tests::stdlib::dict::containskey::contains_key_found ... ok [INFO] [stdout] test main_tests::stdlib::conv::str_to_bool_true ... ok [INFO] [stdout] test main_tests::stdlib::dict::length::length_normal ... ok [INFO] [stdout] test main_tests::stdlib::dict::containskey::contains_key_not_found ... ok [INFO] [stdout] test main_tests::stdlib::dict::keys::keys_empty_dict ... ok [INFO] [stdout] test main_tests::stdlib::dict::merge::dict_merge_both_empty ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_continue_skips_entry ... ok [INFO] [stdout] test main_tests::stdlib::dict::get::dict_get_not_found ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_insertion_order_preserved ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_basic ... ok [INFO] [stdout] test main_tests::stdlib::dict::length::length_empty ... ok [INFO] [stdout] test main_tests::stdlib::dict::keys::keys_preserves_insertion_order ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_nested_loops ... ok [INFO] [stdout] test main_tests::stdlib::dict::merge::dict_merge_empty_right ... ok [INFO] [stdout] test main_tests::stdlib::dict::merge::dict_merge_empty_left ... ok [INFO] [stdout] test main_tests::stdlib::math::abs__integer_and_real::abs_positive_integer ... ok [INFO] [stdout] test main_tests::stdlib::dict::remove::remove_nonexistent_key ... ok [INFO] [stdout] test main_tests::stdlib::dict::values::values_preserves_insertion_order ... ok [INFO] [stdout] test main_tests::stdlib::math::abs__integer_and_real::abs_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::abs__integer_and_real::abs_negative_real ... ok [INFO] [stdout] test main_tests::stdlib::math::abs__integer_and_real::abs_negative_integer ... ok [INFO] [stdout] test main_tests::stdlib::math::arcsin_arccos_arctan::arccos_out_of_range ... ok [INFO] [stdout] test main_tests::stdlib::math::arcsin_arccos_arctan::arcsin_out_of_range ... ok [INFO] [stdout] test main_tests::stdlib::dict::remove::remove_existing_key ... ok [INFO] [stdout] test main_tests::stdlib::dict::merge::dict_merge_overlapping_keys ... ok [INFO] [stdout] test main_tests::stdlib::math::arcsin_arccos_arctan::arccos_one ... ok [INFO] [stdout] test main_tests::stdlib::dict::remove::remove_does_not_mutate_original ... ok [INFO] [stdout] test main_tests::stdlib::dict::for_in_over_dict___iterates_keys_in_insertion_order::for_in_dict_integer_keys ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::clamp_above ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::clamp_mixed_types_is_compile_error ... ok [INFO] [stdout] test main_tests::stdlib::math::arcsin_arccos_arctan::arcsin_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::max_mixed_types_is_compile_error ... ok [INFO] [stdout] test main_tests::stdlib::math::arcsin_arccos_arctan::arctan_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::min_mixed_types_is_compile_error ... ok [INFO] [stdout] test main_tests::stdlib::dict::merge::dict_merge_normal ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::clamp_real ... ok [INFO] [stdout] test main_tests::stdlib::math::arctan2::arctan2_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::arcsin_arccos_arctan::arcsin_one ... ok [INFO] [stdout] test main_tests::stdlib::math::arctan2::arctan2_quarter_pi ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::clamp_reversed_bounds_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::clamp_below ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::clamp_in_range ... ok [INFO] [stdout] test main_tests::stdlib::math::log10_log2::log10_hundred ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::clamp_at_boundary ... ok [INFO] [stdout] test main_tests::stdlib::math::log10_log2::log10_one ... ok [INFO] [stdout] test main_tests::stdlib::math::floor_ceil_round::floor_positive ... ok [INFO] [stdout] test main_tests::stdlib::math::floor_ceil_round::round_normal ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::max_real ... ok [INFO] [stdout] test main_tests::stdlib::math::log10_log2::log2_non_positive_error ... ok [INFO] [stdout] test main_tests::stdlib::math::exp::exp_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::exp::exp_one ... ok [INFO] [stdout] test main_tests::stdlib::math::floor_ceil_round::floor_negative ... ok [INFO] [stdout] test main_tests::stdlib::math::log10_log2::log2_eight ... ok [INFO] [stdout] test main_tests::stdlib::math::floor_ceil_round::ceil_positive ... ok [INFO] [stdout] test main_tests::stdlib::math::log::log_negative_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::math::log10_log2::log10_non_positive_error ... ok [INFO] [stdout] test main_tests::stdlib::math::log::log_zero_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::math::floor_ceil_round::ceil_negative ... ok [INFO] [stdout] test main_tests::stdlib::math::clamp::min_real ... ok [INFO] [stdout] test main_tests::stdlib::math::log::log_e ... ok [INFO] [stdout] test main_tests::stdlib::math::min_max::min_integer ... ok [INFO] [stdout] test main_tests::stdlib::math::min_max::max_integer ... ok [INFO] [stdout] test main_tests::stdlib::math::pi_constant::pi_constant ... ok [INFO] [stdout] test main_tests::stdlib::math::log::log_one ... ok [INFO] [stdout] test main_tests::stdlib::math::pi_constant::pi_fully_qualified ... ok [INFO] [stdout] test main_tests::stdlib::math::min_max::max_equal_values ... ok [INFO] [stdout] test main_tests::stdlib::math::min_max::min_negative_values ... ok [INFO] [stdout] test main_tests::stdlib::math::min_max::min_equal_values ... ok [INFO] [stdout] test main_tests::stdlib::math::random_randomint_randomize::random_returns_value ... ok [INFO] [stdout] test main_tests::stdlib::math::min_max::max_negative_values ... ok [INFO] [stdout] test main_tests::stdlib::math::random_randomint_randomize::random_int_reversed_bounds_error ... ok [INFO] [stdout] test main_tests::stdlib::math::pow::pow_normal ... ok [INFO] [stdout] test main_tests::stdlib::math::pow::pow_zero_exponent ... ok [INFO] [stdout] test main_tests::stdlib::math::random_randomint_randomize::randomize_no_error ... ok [INFO] [stdout] test main_tests::stdlib::math::sign::sign_real ... ok [INFO] [stdout] test main_tests::stdlib::math::sign::sign_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::sign::sign_positive_integer ... ok [INFO] [stdout] test main_tests::stdlib::math::sqrt::sqrt_negative_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::math::sqrt::sqrt_normal ... ok [INFO] [stdout] test main_tests::stdlib::math::random_randomint_randomize::random_int_returns_in_range ... ok [INFO] [stdout] test main_tests::stdlib::math::trunc_frac::frac_negative ... ok [INFO] [stdout] test main_tests::stdlib::math::trunc_frac::frac_positive ... ok [INFO] [stdout] test main_tests::stdlib::math::sin_cos::sin_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::sign::sign_negative_integer ... ok [INFO] [stdout] test main_tests::stdlib::math::sin_cos::cos_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::trunc_frac::frac_whole_number ... ok [INFO] [stdout] test main_tests::stdlib::math::trunc_frac::trunc_negative ... ok [INFO] [stdout] test main_tests::stdlib::math::sqrt::sqrt_zero ... ok [INFO] [stdout] test main_tests::stdlib::math::tan::tan_zero ... ok [INFO] [stdout] test main_tests::stdlib::option::and_then_none_passes_through ... ok [INFO] [stdout] test main_tests::stdlib::option::and_then_some_chains ... ok [INFO] [stdout] test main_tests::stdlib::math::trunc_frac::trunc_whole_number ... ok [INFO] [stdout] test main_tests::stdlib::math::trunc_frac::trunc_positive ... ok [INFO] [stdout] test main_tests::stdlib::option::is_some_with_none ... ok [INFO] [stdout] test main_tests::stdlib::option::is_some_with_some ... ok [INFO] [stdout] test main_tests::stdlib::option::or_else_none_returns_none ... ok [INFO] [stdout] test main_tests::stdlib::option::unwrap_or_none_returns_default ... ok [INFO] [stdout] test main_tests::stdlib::option::map_none_passes_through ... ok [INFO] [stdout] test main_tests::stdlib::option::unwrap_none_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::option::and_then_some_returns_none ... ok [INFO] [stdout] test main_tests::stdlib::option::fully_qualified_unwrap ... ok [INFO] [stdout] test main_tests::stdlib::option::is_none_with_none ... ok [INFO] [stdout] test main_tests::stdlib::option::is_none_with_some ... ok [INFO] [stdout] test main_tests::stdlib::option::map_qualified_call ... ok [INFO] [stdout] test main_tests::stdlib::option::fully_qualified_unwrap_or ... ok [INFO] [stdout] test main_tests::stdlib::option::map_then_and_then_chain ... ok [INFO] [stdout] test main_tests::stdlib::result::fully_qualified_unwrap ... ok [INFO] [stdout] test main_tests::stdlib::option::or_else_some_passes_through ... ok [INFO] [stdout] test main_tests::stdlib::option::map_some_transforms_value ... ok [INFO] [stdout] test main_tests::stdlib::option::unwrap_or_some_returns_value ... ok [INFO] [stdout] test main_tests::stdlib::result::and_then_ok_produces_error ... ok [INFO] [stdout] test main_tests::stdlib::option::option_some_string ... ok [INFO] [stdout] test main_tests::stdlib::option::or_else_none_provides_fallback ... ok [INFO] [stdout] test main_tests::stdlib::result::is_error_with_error ... ok [INFO] [stdout] test main_tests::stdlib::result::fully_qualified_is_ok ... ok [INFO] [stdout] test main_tests::stdlib::option::option_none_string_unwrap_or ... ok [INFO] [stdout] test main_tests::stdlib::result::is_error_with_ok ... ok [INFO] [stdout] test main_tests::stdlib::result::result_and_option_unqualified_unwrap_is_ambiguous ... ok [INFO] [stdout] test main_tests::stdlib::result::or_else_error_to_error ... ok [INFO] [stdout] test main_tests::stdlib::result::unwrap_or_error_returns_default ... ok [INFO] [stdout] test main_tests::stdlib::result::unwrap_ok ... ok [INFO] [stdout] test main_tests::stdlib::option::unwrap_some ... ok [INFO] [stdout] test main_tests::stdlib::result::map_qualified_call ... ok [INFO] [stdout] test main_tests::stdlib::result::and_then_ok_chains ... ok [INFO] [stdout] test main_tests::stdlib::result::and_then_error_passes_through ... ok [INFO] [stdout] test main_tests::stdlib::result::unwrap_error_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::result::is_ok_with_error ... ok [INFO] [stdout] test main_tests::stdlib::result::map_then_and_then_chain ... ok [INFO] [stdout] test main_tests::stdlib::result::is_ok_with_ok ... ok [INFO] [stdout] test main_tests::stdlib::result::or_else_ok_passes_through ... ok [INFO] [stdout] test main_tests::stdlib::result::map_ok_transforms_value ... ok [INFO] [stdout] test main_tests::stdlib::result::or_else_error_recovers ... ok [INFO] [stdout] test main_tests::stdlib::result::map_error_passes_through ... ok [INFO] [stdout] test main_tests::stdlib::result::result_and_option_require_qualified_unwrap ... ok [INFO] [stdout] test main_tests::stdlib::str::charat::char_at_negative_index ... ok [INFO] [stdout] test main_tests::stdlib::result::result_ok_string ... ok [INFO] [stdout] test main_tests::stdlib::str::charat::char_at_last ... ok [INFO] [stdout] test main_tests::stdlib::str::contains::contains_empty_sub ... ok [INFO] [stdout] test main_tests::stdlib::str::fromchar::from_char_zero_count ... ok [INFO] [stdout] test main_tests::stdlib::str::contains::contains_found ... ok [INFO] [stdout] test main_tests::stdlib::str::delete::delete_all ... ok [INFO] [stdout] test main_tests::stdlib::str::indexof::index_of_not_found ... ok [INFO] [stdout] test main_tests::stdlib::str::fromchar::from_char_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::contains::contains_not_found ... ok [INFO] [stdout] test main_tests::stdlib::str::charat::char_at_out_of_bounds ... ok [INFO] [stdout] test main_tests::stdlib::str::insert::insert_at_end ... ok [INFO] [stdout] test main_tests::stdlib::str::insert::insert_at_start ... ok [INFO] [stdout] test main_tests::stdlib::str::indexof::index_of_found ... ok [INFO] [stdout] test main_tests::stdlib::result::unwrap_or_ok_returns_value ... ok [INFO] [stdout] test main_tests::stdlib::str::charat::char_at_first ... ok [INFO] [stdout] test main_tests::stdlib::str::insert::insert_middle ... ok [INFO] [stdout] test main_tests::stdlib::str::delete::delete_out_of_bounds ... ok [INFO] [stdout] test main_tests::stdlib::str::delete::delete_middle ... ok [INFO] [stdout] test main_tests::stdlib::str::join::join_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::insert::insert_out_of_bounds ... ok [INFO] [stdout] test main_tests::stdlib::str::isnumeric::is_numeric_real ... ok [INFO] [stdout] test main_tests::stdlib::str::delete::delete_from_start ... ok [INFO] [stdout] test main_tests::stdlib::str::isnumeric::is_numeric_negative ... ok [INFO] [stdout] test main_tests::stdlib::str::isnumeric::is_numeric_invalid ... ok [INFO] [stdout] test main_tests::stdlib::str::ord_chr::chr_rejects_oversized_codepoint ... ok [INFO] [stdout] test main_tests::stdlib::str::length::length_qualified ... ok [INFO] [stdout] test main_tests::stdlib::str::lastindexof::last_index_of_not_found ... ok [INFO] [stdout] test main_tests::stdlib::str::isnumeric::is_numeric_empty ... ok [INFO] [stdout] test main_tests::stdlib::str::ord_chr::ord_chr_roundtrip ... ok [INFO] [stdout] test main_tests::stdlib::str::join::join_empty_array ... ok [INFO] [stdout] test main_tests::stdlib::str::isnumeric::is_numeric_integer ... ok [INFO] [stdout] test main_tests::stdlib::str::ord_chr::chr_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::length::length_empty_string ... ok [INFO] [stdout] test main_tests::stdlib::str::lastindexof::last_index_of_single_occurrence ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_center_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_center_odd_spacing ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_right_negative_width_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_right_already_wide ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_left_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_right_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::repeat::repeat_negative_count ... ok [INFO] [stdout] test main_tests::stdlib::str::replace::replace_all_occurrences ... ok [INFO] [stdout] test main_tests::stdlib::str::repeat::repeat_zero_count ... ok [INFO] [stdout] test main_tests::stdlib::str::repeat::repeat_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::reverse__std_str::str_reverse_single_char ... ok [INFO] [stdout] test main_tests::stdlib::str::reverse__std_str::str_reverse_empty ... ok [INFO] [stdout] test main_tests::stdlib::str::length::length_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_left_already_wide ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_center_already_wide ... ok [INFO] [stdout] test main_tests::stdlib::str::ord_chr::ord_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::setcharat::set_char_at_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_center_negative_width_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::str::join::join_single_element ... ok [INFO] [stdout] test main_tests::stdlib::str::padleft_padright_padcenter::pad_left_negative_width_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::str::repeat::repeat_empty_string ... ok [INFO] [stdout] test main_tests::stdlib::str::ord_chr::chr_invalid_codepoint ... ok [INFO] [stdout] test main_tests::stdlib::str::reverse__std_str::str_reverse_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::split::split_delimiter_not_found ... ok [INFO] [stdout] test main_tests::stdlib::str::lastindexof::last_index_of_empty_string ... ok [INFO] [stdout] test main_tests::stdlib::str::ord_chr::ord_zero_char ... ok [INFO] [stdout] test main_tests::stdlib::str::replace::replace_no_match ... ok [INFO] [stdout] test main_tests::stdlib::str::lastindexof::last_index_of_found ... ok [INFO] [stdout] test main_tests::stdlib::str::split::split_empty_delimiter_is_runtime_error ... ok [INFO] [stdout] test main_tests::stdlib::str::startswith_endswith::ends_with_false ... ok [INFO] [stdout] test main_tests::stdlib::str::startswith_endswith::ends_with_true ... ok [INFO] [stdout] test main_tests::stdlib::str::setcharat::set_char_at_out_of_bounds ... ok [INFO] [stdout] test main_tests::stdlib::str::toupper_tolower::to_upper_already_upper ... ok [INFO] [stdout] test main_tests::stdlib::str::trim::trim_all_whitespace ... ok [INFO] [stdout] test main_tests::stdlib::str::startswith_endswith::starts_with_false ... ok [INFO] [stdout] test main_tests::visibility::ambiguity::ambiguity_error_mentions_qualified_alternatives ... ok [INFO] [stdout] test main_tests::stdlib::str::toupper_tolower::to_upper ... ok [INFO] [stdout] test main_tests::stdlib::str::split::split_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::trimleft_trimright::trim_left_normal ... ok [INFO] [stdout] test main_tests::visibility::ambiguity::ambiguity_with_three_units ... ok [INFO] [stdout] test main_tests::stdlib::str::toupper_tolower::to_lower ... ok [INFO] [stdout] test main_tests::stdlib::str::startswith_endswith::starts_with_true ... ok [INFO] [stdout] test main_tests::stdlib::str::trimleft_trimright::trim_right_no_trailing_space ... ok [INFO] [stdout] test main_tests::stdlib::str::trimleft_trimright::trim_left_no_leading_space ... ok [INFO] [stdout] test main_tests::visibility::ambiguity::no_error_at_uses_site_when_ambiguous_name_not_used ... ok [INFO] [stdout] test main_tests::stdlib::str::trimleft_trimright::trim_right_normal ... ok [INFO] [stdout] test main_tests::stdlib::str::trim::trim_no_whitespace ... ok [INFO] [stdout] test main_tests::visibility::ambiguity::ambiguity_resolved_by_qualified_name ... ok [INFO] [stdout] test main_tests::stdlib::str::substring::substring_normal ... ok [INFO] [stdout] test main_tests::visibility::exports::default_visibility_function_is_callable ... ok [INFO] [stdout] test main_tests::stdlib::str::substring::substring_full_string ... ok [INFO] [stdout] test main_tests::visibility::exports::private_const_not_exported_by_qualified_name ... ok [INFO] [stdout] test main_tests::visibility::exports::private_procedure_not_exported_by_qualified_name ... ok [INFO] [stdout] test main_tests::visibility::exports::private_procedure_not_exported ... ok [INFO] [stdout] test main_tests::visibility::exports::private_const_not_exported ... ok [INFO] [stdout] test main_tests::stdlib::str::trim::trim_both_sides ... ok [INFO] [stdout] test main_tests::visibility::exports::private_type_not_exported ... ok [INFO] [stdout] test main_tests::visibility::ambiguity::private_does_not_cause_ambiguity ... ok [INFO] [stdout] test main_tests::stdlib::str::toupper_tolower::to_upper_empty ... ok [INFO] [stdout] test main_tests::visibility::exports::private_type_not_exported_by_qualified_name ... ok [INFO] [stdout] test main_tests::visibility::exports::private_var_not_exported ... ok [INFO] [stdout] test main_tests::visibility::exports::private_mutable_var_not_exported ... ok [INFO] [stdout] test main_tests::visibility::exports::private_var_not_exported_by_qualified_name ... ok [INFO] [stdout] test main_tests::visibility::internals::private_function_not_callable_from_other_unit ... ok [INFO] [stdout] test main_tests::visibility::exports::explicit_public_function_is_exported ... ok [INFO] [stdout] test main_tests::visibility::exports::private_function_not_exported ... ok [INFO] [stdout] test main_tests::visibility::exports::private_function_not_exported_by_qualified_name ... ok [INFO] [stdout] test main_tests::stdlib::str::substring::substring_out_of_bounds_is_runtime_error ... ok [INFO] [stdout] test main_tests::visibility::internals::private_const_usable_within_same_unit ... ok [INFO] [stdout] test main_tests::visibility::exports::public_function_is_callable_from_main ... ok [INFO] [stdout] test main_tests::visibility::internals::private_visibility_in_program_is_rejected ... ok [INFO] [stdout] test main_tests::visibility::internals::public_visibility_in_program_is_rejected ... ok [INFO] [stdout] test main_tests::visibility::std_namespace::bare_std_uses_rejected ... ok [INFO] [stdout] test main_tests::visibility::std_namespace::user_unit_cannot_use_std_namespace_even_when_unused ... ok [INFO] [stdout] test main_tests::visibility::std_namespace::std_unit_with_extra_segments_rejected ... ok [INFO] [stdout] test main_tests::visibility::std_namespace::unknown_std_unit_rejected_with_available_units_hint ... ok [INFO] [stdout] test project::tests::imports::build_program_accepts_relative_and_absolute_main_entries_in_same_project ... ok [INFO] [stdout] test project::tests::imports::build_program_does_not_treat_private_collision_as_ambiguous_import ... ok [INFO] [stdout] test project::tests::imports::build_program_ignores_broken_imports_in_unreachable_units ... ok [INFO] [stdout] test main_tests::visibility::exports::public_const_imported_from_unit ... ok [INFO] [stdout] test project::tests::imports::build_program_preserves_stable_deduplicated_std_uses_from_program_and_units ... ok [INFO] [stdout] test project::tests::imports::build_program_keeps_private_unit_symbols_internal ... ok [INFO] [stdout] test project::tests::imports::build_program_links_independent_units_in_stable_order ... ok [INFO] [stdout] test project::tests::imports::build_program_rejects_duplicate_top_level_names_inside_one_unit ... ok [INFO] [stdout] test project::tests::imports::build_program_includes_transitive_unit_dependencies ... ok [INFO] [stdout] test main_tests::stdlib::str::toupper_tolower::to_lower_empty ... ok [INFO] [stdout] test project::tests::loading::includes::empty_include_array_is_rejected ... ok [INFO] [stdout] test main_tests::visibility::internals::private_function_callable_within_same_unit ... ok [INFO] [stdout] test project::tests::imports::build_program_reports_unknown_unit_with_sorted_available_units ... ok [INFO] [stdout] test project::tests::imports::build_program_reports_three_unit_cycle_with_stable_path ... ok [INFO] [stdout] test project::tests::imports::build_program_links_independent_subgraphs_in_stable_dependency_order ... ok [INFO] [stdout] test project::tests::imports::build_program_reports_ambiguous_import_at_use_site ... ok [INFO] [stdout] test project::tests::loading::includes::empty_include_entry_is_rejected ... ok [INFO] [stdout] test project::tests::imports::build_program_rewrites_short_imports_to_qualified_names ... ok [INFO] [stdout] test project::tests::loading::includes::include_pattern_without_matches_fails ... ok [INFO] [stdout] test project::tests::loading::includes::mixed_glob_and_explicit_includes ... ok [INFO] [stdout] test project::tests::loading::includes::include_pattern_must_match_at_least_one_file ... ok [INFO] [stdout] test project::tests::loading::includes::explicit_include_must_be_fpas_source_file ... ok [INFO] [stdout] test project::tests::bindings::case_patterns::build_program_rewrites_case_patterns_guards_and_bindings ... ok [INFO] [stdout] test project::tests::loading::includes::whitespace_only_include_entry_is_rejected ... ok [INFO] [stdout] test project::tests::loading::path_resolution::explicit_include_path_must_point_to_a_file ... ok [INFO] [stdout] test project::tests::loading::path_resolution::missing_bracket_path_is_reported_as_glob_without_matches ... ok [INFO] [stdout] test project::tests::loading::path_resolution::sources_include_treats_existing_bracket_path_as_explicit_file ... ok [INFO] [stdout] test project::tests::loading::path_resolution::main_path_must_point_to_a_file ... ok [INFO] [stdout] test project::tests::loading::includes::explicit_include_path_must_exist ... ok [INFO] [stdout] test project::tests::loading::project_kind::program_project_requires_main ... ok [INFO] [stdout] test project::tests::loading::path_resolution::include_glob_rejects_non_source_files ... ok [INFO] [stdout] test project::tests::loading::project_kind::empty_project_kind_is_rejected ... ok [INFO] [stdout] test project::tests::loading::path_resolution::sources_include_accepts_absolute_file_path ... ok [INFO] [stdout] test project::tests::loading::path_resolution::program_project_accepts_absolute_main_path ... ok [INFO] [stdout] test main_tests::visibility::internals::mixed_public_private_only_public_exported ... ok [INFO] [stdout] test project::tests::loading::project_kind::invalid_project_kind_is_rejected ... ok [INFO] [stdout] test project::tests::loading::project_kind::library_project_loads_without_main ... ok [INFO] [stdout] test project::tests::loading::project_kind::library_project_rejects_main ... ok [INFO] [stdout] test project::tests::loading::project_kind::library_without_sources_section_is_rejected ... ok [INFO] [stdout] test project::tests::loading::source_files::main_file_is_excluded_from_sources_when_matched_by_glob ... ok [INFO] [stdout] test project::tests::loading::source_files::main_file_is_removed_when_sources_include_relative_and_absolute_main_paths ... ok [INFO] [stdout] test project::tests::loading::source_files::source_program_file_is_skipped_with_warning ... ok [INFO] [stdout] test project::tests::loading::toml_errors::missing_sources_section_is_rejected ... ok [INFO] [stdout] test project::tests::loading::validation::duplicate_unit_names_are_rejected ... ok [INFO] [stdout] test project::tests::loading::toml_errors::missing_project_section_is_rejected ... ok [INFO] [stdout] test project::tests::loading::source_files::glob_matching_only_main_file_yields_empty_sources ... ok [INFO] [stdout] test main_tests::visibility::std_namespace::std_uses_case_insensitive ... ok [INFO] [stdout] test project::tests::loading::validation::empty_project_version_is_rejected ... ok [INFO] [stdout] test project::tests::loading::source_files::duplicate_sources_are_ignored_with_warning ... ok [INFO] [stdout] test project::tests::loading::validation::main_file_must_use_program_declaration ... ok [INFO] [stdout] test project::tests::loading::toml_errors::malformed_toml_is_rejected ... ok [INFO] [stdout] test project::tests::loading::validation::empty_main_path_is_rejected ... ok [INFO] [stdout] test project::tests::loading::validation::missing_project_kind_is_rejected ... ok [INFO] [stdout] test project::tests::loading::validation::main_file_must_exist ... ok [INFO] [stdout] test project::tests::loading::validation::empty_project_name_is_rejected ... ok [INFO] [stdout] test project::tests::loading::project_kind::whitespace_only_project_kind_is_rejected ... ok [INFO] [stdout] test project::tests::loading::source_files::duplicate_sources_are_ignored_across_multiple_path_spellings ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_compiler-a961d607a533be23) [INFO] [stdout] test project::tests::loading::validation::missing_project_name_is_rejected ... ok [INFO] [stdout] test project::tests::loading::validation::whitespace_only_main_path_is_rejected ... ok [INFO] [stdout] test project::tests::loading::validation::main_must_be_fpas_source_file ... ok [INFO] [stdout] test project::tests::loading::validation::whitespace_only_name_is_rejected ... ok [INFO] [stdout] test project::tests::loading::validation::version_field_is_optional ... ok [INFO] [stdout] test project::tests::loading::validation::reserved_std_root_is_rejected_for_source_units ... ok [INFO] [stdout] test project::tests::loading::validation::whitespace_only_version_is_rejected ... ok [INFO] [stdout] test project::tests::loading::validation::freeform_version_string_is_accepted ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 466 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.12s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 877 tests [INFO] [stdout] test tests::arrays::array_index_out_of_bounds ... ok [INFO] [stdout] test tests::arrays::array_of_booleans ... ok [INFO] [stdout] test tests::arrays::array_negative_index ... ok [INFO] [stdout] test tests::arrays::array_of_strings ... ok [INFO] [stdout] test tests::basics::bitwise_and_or_not ... ok [INFO] [stdout] test tests::arrays::array_passed_to_function ... ok [INFO] [stdout] test tests::basics::empty_program ... ok [INFO] [stdout] test tests::basics::const_expression_must_be_compile_time_known ... ok [INFO] [stdout] test tests::basics::hello_world ... ok [INFO] [stdout] test tests::arrays::array_of_records ... ok [INFO] [stdout] test tests::arrays::array_returned_from_function ... ok [INFO] [stdout] test tests::basics::character_code_concatenation ... ok [INFO] [stdout] test tests::basics::comparison_operators_all ... ok [INFO] [stdout] test tests::arrays::array_of_enum_data_variants ... ok [INFO] [stdout] test tests::arrays::empty_array ... ok [INFO] [stdout] test tests::arrays::push_on_immutable_array_is_rejected ... ok [INFO] [stdout] test tests::basics::const_real_and_string_and_boolean ... ok [INFO] [stdout] test tests::basics::comments_ignored_in_program ... ok [INFO] [stdout] test tests::basics::escaped_apostrophe_in_output ... ok [INFO] [stdout] test tests::basics::immutable_var_reassign_is_compile_error ... ok [INFO] [stdout] test tests::basics::hex_literal_value ... ok [INFO] [stdout] test tests::basics::integer_arithmetic ... ok [INFO] [stdout] test tests::basics::multiple_prints ... ok [INFO] [stdout] test tests::arrays::array_of_enums ... ok [INFO] [stdout] test tests::basics::scientific_notation_value ... ok [INFO] [stdout] test tests::basics::div_and_mod_execution ... ok [INFO] [stdout] test tests::basics::logical_operators_full ... ok [INFO] [stdout] test tests::arrays::array_push_and_length ... ok [INFO] [stdout] test tests::basics::local_var_inside_function ... ok [INFO] [stdout] test tests::basics::variable_let_and_print ... ok [INFO] [stdout] test tests::basics::mutable_variable_assign ... ok [INFO] [stdout] test tests::basics::multiline_string_literal ... ok [INFO] [stdout] test tests::basics::string_concat_with_plus ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_block_arm_in_else ... ok [INFO] [stdout] test tests::case_of::booleans::case_boolean_false ... ok [INFO] [stdout] test tests::basics::type_alias_end_to_end ... ok [INFO] [stdout] test tests::case_of::booleans::case_boolean_with_else ... ok [INFO] [stdout] test tests::basics::underscore_literal ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_enum_in_function_returns ... ok [INFO] [stdout] test tests::case_of::booleans::case_boolean_true ... ok [INFO] [stdout] test tests::basics::variable_lookup_is_case_insensitive_at_runtime ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_boolean_only_true_no_else ... ok [INFO] [stdout] test tests::basics::xor_and_shift_operators ... ok [INFO] [stdout] test tests::basics::short_std_alias_lookup_is_case_insensitive_in_compiler ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_integer_large_values ... ok [INFO] [stdout] test tests::basics::var_block_multiple_declarations ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_empty_only_else ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_char_partial_no_else ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_multiline_comma_separated_labels ... ok [INFO] [stdout] test tests::case_of::integers::case_integer_negative_value ... ok [INFO] [stdout] test tests::case_of::enums::case_simple_enum ... ok [INFO] [stdout] test tests::case_of::errors::case_type_mismatch_string_label_on_integer ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_negative_range ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_range_single_value ... ok [INFO] [stdout] test tests::case_of::enums::case_simple_enum_with_else ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_on_arithmetic_expression ... ok [INFO] [stdout] test tests::case_of::integers::case_integer_exact_zero ... ok [INFO] [stdout] test tests::case_of::integers::case_many_arms ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_string_partial_no_else ... ok [INFO] [stdout] test tests::case_of::edge_cases::case_overlapping_ranges_first_wins ... ok [INFO] [stdout] test tests::case_of::errors::case_type_mismatch_integer_label_on_string ... ok [INFO] [stdout] test tests::case_of::integers::case_on_function_result ... ok [INFO] [stdout] test tests::case_of::errors::case_guard_non_boolean_rejected ... ok [INFO] [stdout] test tests::case_of::enums::case_enum_non_exhaustive_error ... ok [INFO] [stdout] test tests::case_of::negative::case_data_enum_rejects_foreign_nested_variant ... ok [INFO] [stdout] test tests::case_of::negative::case_data_enum_rejects_range_label ... ok [INFO] [stdout] test tests::case_of::integers::case_only_else ... ok [INFO] [stdout] test tests::case_of::negative::case_data_enum_rejects_foreign_root_variant ... ok [INFO] [stdout] test tests::case_of::negative::case_enum_destructure_too_few_bindings ... ok [INFO] [stdout] test tests::case_of::integers::case_integer_no_match_no_else ... ok [INFO] [stdout] test tests::case_of::negative::case_enum_destructure_too_many_bindings ... ok [INFO] [stdout] test tests::case_of::negative::case_enum_destructure_zero_bindings_on_data_variant ... ok [INFO] [stdout] test tests::case_of::integers::case_integer_multiple_labels ... ok [INFO] [stdout] test tests::case_of::negative::case_enum_destructure_three_bindings_on_two_fields ... ok [INFO] [stdout] test tests::case_of::negative::case_destructure_some_on_string_rejected ... ok [INFO] [stdout] test tests::case_of::negative::case_enum_hint_text_present ... ok [INFO] [stdout] test tests::case_of::integers::case_first_arm_wins ... ok [INFO] [stdout] test tests::case_of::negative::case_guard_integer_type_is_error ... ok [INFO] [stdout] test tests::case_of::negative::case_destructure_on_integer_rejected ... ok [INFO] [stdout] test tests::case_of::negative::case_destructure_on_simple_enum_rejected ... ok [INFO] [stdout] test tests::case_of::negative::nested_pattern_non_exhaustive_outer_missing ... ok [INFO] [stdout] test tests::case_of::negative::case_non_exhaustive_enum_missing_two ... ok [INFO] [stdout] test tests::case_of::negative::case_data_enum_rejects_wrong_literal_type_in_pattern ... ok [INFO] [stdout] test tests::case_of::ranges::case_range_mixed_with_exact_and_labels ... ok [INFO] [stdout] test tests::case_of::negative::case_enum_correct_field_count_still_works ... ok [INFO] [stdout] test tests::case_of::negative::case_result_rejects_option_pattern ... ok [INFO] [stdout] test tests::case_of::negative::case_nested_enum_destructure_wrong_field_count ... ok [INFO] [stdout] test tests::case_of::negative::case_guard_string_type_is_error ... ok [INFO] [stdout] test tests::case_of::negative::case_non_exhaustive_guard_only_not_sufficient ... ok [INFO] [stdout] test tests::case_of::negative::case_option_rejects_result_pattern ... ok [INFO] [stdout] test tests::case_of::negative::case_non_exhaustive_result_missing_error ... ok [INFO] [stdout] test tests::case_of::ranges::case_range_lower_boundary ... ok [INFO] [stdout] test tests::case_of::negative::case_non_exhaustive_option_missing_none ... ok [INFO] [stdout] test tests::case_of::ranges::case_range_grade_example ... ok [INFO] [stdout] test tests::case_of::negative::case_type_mismatch_boolean_label_on_integer ... ok [INFO] [stdout] test tests::case_of::ranges::case_range_upper_boundary ... ok [INFO] [stdout] test tests::case_of::strings::case_string_else_branch ... ok [INFO] [stdout] test tests::case_of::ranges::case_range_no_match_falls_through ... ok [INFO] [stdout] test tests::case_of::strings::case_string_no_match_no_else ... ok [INFO] [stdout] test tests::case_of::structure::blocks::multiple_case_statements ... ok [INFO] [stdout] test tests::case_of::strings::case_string_multiple_labels_first_match ... ok [INFO] [stdout] test tests::case_of::strings::case_string_empty_string ... ok [INFO] [stdout] test tests::case_of::structure::flow::case_in_function_returns ... ok [INFO] [stdout] test tests::case_of::strings::case_string_multiple_labels_per_arm ... ok [INFO] [stdout] test tests::case_of::strings::case_string_basic ... ok [INFO] [stdout] test tests::case_of::structure::chars::case_char_multiple_arms ... ok [INFO] [stdout] test tests::case_of::structure::flow::case_inside_loop ... ok [INFO] [stdout] test tests::case_of::structure::blocks::case_with_begin_end_blocks ... ok [INFO] [stdout] test tests::case_of::structure::chars::case_char_no_match_no_else ... ok [INFO] [stdout] test tests::case_of::structure::chars::case_char_else_fallback ... ok [INFO] [stdout] test tests::case_ranges::case_range_middle ... ok [INFO] [stdout] test tests::char_type::char_assigned_to_string ... ok [INFO] [stdout] test tests::case_of::structure::flow::case_nested_case ... ok [INFO] [stdout] test tests::case_ranges::case_range_else_fallthrough ... ok [INFO] [stdout] test tests::char_type::char_comparison ... ok [INFO] [stdout] test tests::case_ranges::case_range_and_exact_mixed ... ok [INFO] [stdout] test tests::case_ranges::case_range_boundaries ... ok [INFO] [stdout] test tests::char_type::char_in_case ... ok [INFO] [stdout] test tests::char_type::char_variable_print ... ok [INFO] [stdout] test tests::char_type::char_code_syntax ... ok [INFO] [stdout] test tests::char_type::char_passed_to_function ... ok [INFO] [stdout] test tests::closures::array_ops::chaining::map_filter_reduce_chained ... ok [INFO] [stdout] test tests::closures::array_ops::chaining::map_then_filter ... ok [INFO] [stdout] test tests::char_type::char_equality ... ok [INFO] [stdout] test tests::closures::array_ops::filter::array_filter_with_named_function ... ok [INFO] [stdout] test tests::closures::array_ops::filter::filter_empty_array ... ok [INFO] [stdout] test tests::closures::errors::reduce_wrong_arity_compile_error ... ok [INFO] [stdout] test tests::closures::errors::function_type_mismatch_in_assignment ... ok [INFO] [stdout] test tests::closures::errors::map_wrong_arity_compile_error ... ok [INFO] [stdout] test tests::closures::array_ops::filter::filter_no_match_returns_empty ... ok [INFO] [stdout] test tests::closures::array_ops::reduce::reduce_single_element ... ok [INFO] [stdout] test tests::closures::named_functions::named_function_as_value ... ok [INFO] [stdout] test tests::closures::named_functions::named_procedure_as_value ... ok [INFO] [stdout] test tests::control_flow::basics::for_loop_to ... ok [INFO] [stdout] test tests::closures::array_ops::map::map_with_named_function_stored_in_variable ... ok [INFO] [stdout] test tests::closures::array_ops::map::map_empty_array ... ok [INFO] [stdout] test tests::closures::named_functions::named_function_assigned_to_variable ... ok [INFO] [stdout] test tests::closures::array_ops::map::array_map_with_named_function ... ok [INFO] [stdout] test tests::closures::array_ops::reduce::array_reduce_sum ... ok [INFO] [stdout] test tests::closures::array_ops::reduce::reduce_empty_array_returns_init ... ok [INFO] [stdout] test tests::closures::named_functions::named_function_reassigned_variable ... ok [INFO] [stdout] test tests::control_flow::basics::if_then ... ok [INFO] [stdout] test tests::control_flow::basics::repeat_until ... ok [INFO] [stdout] test tests::control_flow::basics::for_loop_downto ... ok [INFO] [stdout] test tests::control_flow::basics::while_loop ... ok [INFO] [stdout] test tests::control_flow::break_continue::cleanup::break_pops_multiple_locals ... ok [INFO] [stdout] test tests::control_flow::break_continue::for_in::for_in_break_and_continue_combined ... ok [INFO] [stdout] test tests::control_flow::break_continue::branches::break_in_deep_if ... ok [INFO] [stdout] test tests::control_flow::break_continue::for_in::for_in_break_first_element ... ok [INFO] [stdout] test tests::control_flow::break_continue::branches::break_continue_case_insensitive ... ok [INFO] [stdout] test tests::control_flow::break_continue::branches::multiple_breaks_different_branches ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::break_after_output ... ok [INFO] [stdout] test tests::control_flow::break_continue::branches::break_in_if_continue_in_else ... ok [INFO] [stdout] test tests::control_flow::basics::if_then_else ... ok [INFO] [stdout] test tests::control_flow::break_continue::cleanup::continue_pops_multiple_locals ... ok [INFO] [stdout] test tests::control_flow::break_continue::for_in::for_in_continue_all_elements ... ok [INFO] [stdout] test tests::control_flow::break_continue::branches::break_in_else_continue_in_if ... ok [INFO] [stdout] test tests::closures::array_ops::map::array_map_callback_can_spawn_and_wait_for_tasks ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::continue_at_end_of_while_body ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::many_continues_in_loop ... ok [INFO] [stdout] test tests::control_flow::break_continue::repeat::repeat_break_immediately ... ok [INFO] [stdout] test tests::control_flow::break_continue::repeat::repeat_break_is_only_exit ... ok [INFO] [stdout] test tests::control_flow::break_continue::nesting::nested_break_outer_via_flag ... ok [INFO] [stdout] test tests::control_flow::break_continue::nesting::nested_continue_outer_skip_inner ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::while_break_preserves_state_after_loop ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::for_break_at_last_value ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::continue_at_end_of_body_is_noop ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::for_downto_break_at_last_value ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::for_continue_still_increments ... ok [INFO] [stdout] test tests::control_flow::break_continue::loop_progress::for_downto_continue_still_decrements ... ok [INFO] [stdout] test tests::control_flow::for_in::basic::for_in_empty_array ... ok [INFO] [stdout] test tests::control_flow::for_in::basic::for_in_array ... ok [INFO] [stdout] test tests::control_flow::for_in::basic::for_in_inline_empty_literal ... ok [INFO] [stdout] test tests::control_flow::for_in::basic::for_in_large_array ... ok [INFO] [stdout] test tests::control_flow::for_in::basic::for_in_inline_array_literal ... ok [INFO] [stdout] test tests::control_flow::for_in::basic::for_in_single_element ... ok [INFO] [stdout] test tests::control_flow::for_in::control::break_continue::for_in_break_and_continue ... ok [INFO] [stdout] test tests::control_flow::for_in::control::break_continue::for_in_break_first_element ... ok [INFO] [stdout] test tests::control_flow::for_in::control::break_continue::for_in_continue_all ... ok [INFO] [stdout] test tests::control_flow::for_in::control::break_continue::for_in_with_break ... ok [INFO] [stdout] test tests::control_flow::for_in::control::break_continue::for_in_continue_then_break_on_same_element ... ok [INFO] [stdout] test tests::control_flow::for_in::control::break_continue::for_in_with_continue ... ok [INFO] [stdout] test tests::control_flow::for_in::control::scope::for_in_continue_with_inner_scope_vars ... ok [INFO] [stdout] test tests::control_flow::for_in::control::scope::for_in_break_with_inner_scope_vars ... ok [INFO] [stdout] test tests::control_flow::break_continue::repeat::repeat_continue_evaluates_until ... ok [INFO] [stdout] test tests::control_flow::for_in::control::scope::for_continue_with_inner_scope_vars ... ok [INFO] [stdout] test tests::control_flow::for_in::control::scope::for_break_with_inner_scope_vars ... ok [INFO] [stdout] test tests::control_flow::for_in::control::flow::code_after_for_in_executes ... ok [INFO] [stdout] test tests::control_flow::for_in::control::flow::code_after_empty_for_in_executes ... ok [INFO] [stdout] test tests::control_flow::for_in::integration::for_in_accumulator ... ok [INFO] [stdout] test tests::control_flow::for_in::typing::for_in_boolean_array ... ok [INFO] [stdout] test tests::control_flow::for_in::nesting::nested_for_in ... ok [INFO] [stdout] test tests::control_flow::for_in::integration::for_in_with_nested_if_else ... ok [INFO] [stdout] test tests::control_flow::for_in::nesting::nested_for_in_continue_inner_only ... ok [INFO] [stdout] test tests::control_flow::for_loop::basic::for_downto_single_iteration ... ok [INFO] [stdout] test tests::control_flow::for_in::integration::for_in_inside_function ... ok [INFO] [stdout] test tests::control_flow::for_in::nesting::for_in_inside_classic_for ... ok [INFO] [stdout] test tests::control_flow::for_in::nesting::nested_for_in_break_inner_only ... ok [INFO] [stdout] test tests::control_flow::for_in::nesting::classic_for_inside_for_in ... ok [INFO] [stdout] test tests::control_flow::for_in::typing::for_in_real_array ... ok [INFO] [stdout] test tests::control_flow::for_in::integration::sequential_for_in_loops ... ok [INFO] [stdout] test tests::control_flow::for_loop::basic::for_downto_basic ... ok [INFO] [stdout] test tests::control_flow::for_loop::basic::for_to_single_iteration ... ok [INFO] [stdout] test tests::control_flow::for_in::integration::for_in_body_uses_loop_var_in_expression ... ok [INFO] [stdout] test tests::control_flow::for_loop::bounds::for_downto_negative_range ... ok [INFO] [stdout] test tests::control_flow::for_loop::bounds::for_to_zero_iterations_when_start_greater_than_end ... ok [INFO] [stdout] test tests::control_flow::for_loop::bounds::for_to_with_expression_bounds ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::code_after_broken_for_executes ... ok [INFO] [stdout] test tests::control_flow::for_loop::bounds::for_to_entirely_negative ... ok [INFO] [stdout] test tests::control_flow::for_loop::basic::for_to_with_block ... ok [INFO] [stdout] test tests::control_flow::for_loop::bounds::for_downto_zero_iterations_when_start_less_than_end ... ok [INFO] [stdout] test tests::control_flow::for_loop::bounds::for_downto_entirely_negative ... ok [INFO] [stdout] test tests::control_flow::for_loop::bounds::for_to_negative_range ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::for_downto_break ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::code_after_for_to_executes ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::code_after_zero_iteration_for_executes ... ok [INFO] [stdout] test tests::control_flow::for_loop::nesting::nested_for_to_to ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::for_to_break ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::for_downto_continue ... ok [INFO] [stdout] test tests::control_flow::for_loop::nesting::nested_for_inner_break_only ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::for_to_continue_all_skipped ... ok [INFO] [stdout] test tests::control_flow::for_loop::basic::for_to_basic ... ok [INFO] [stdout] test tests::control_flow::for_loop::state::for_downto_accumulator ... ok [INFO] [stdout] test tests::control_flow::for_loop::bounds::for_downto_with_expression_bounds ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::for_to_break_first_iteration ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::for_to_break_and_continue ... ok [INFO] [stdout] test tests::control_flow::for_loop::control::for_to_continue ... ok [INFO] [stdout] test tests::control_flow::if_then_else::basic::if_true_takes_then_not_else ... ok [INFO] [stdout] test tests::control_flow::for_loop::state::for_to_accumulator ... ok [INFO] [stdout] test tests::control_flow::if_then_else::basic::if_false_skips_then ... ok [INFO] [stdout] test tests::control_flow::if_then_else::blocks::if_else_with_begin_end_blocks ... ok [INFO] [stdout] test tests::control_flow::if_then_else::blocks::if_block_with_mutable_var ... ok [INFO] [stdout] test tests::control_flow::for_loop::nesting::nested_for_downto_outer_to_inner ... ok [INFO] [stdout] test tests::control_flow::if_then_else::blocks::if_with_begin_end_block ... ok [INFO] [stdout] test tests::control_flow::if_then_else::basic::if_true_executes_then ... ok [INFO] [stdout] test tests::control_flow::for_in::integration::for_in_loop_var_shadows_outer ... ok [INFO] [stdout] test tests::control_flow::if_then_else::basic::if_false_takes_else ... ok [INFO] [stdout] test tests::control_flow::if_then_else::chains::else_if_middle_branch ... ok [INFO] [stdout] test tests::control_flow::if_then_else::comparisons::if_less_than ... ok [INFO] [stdout] test tests::control_flow::for_in::typing::for_in_string_array ... ok [INFO] [stdout] test tests::control_flow::if_then_else::comparisons::if_equal ... ok [INFO] [stdout] test tests::control_flow::if_then_else::comparisons::if_greater_than ... ok [INFO] [stdout] test tests::control_flow::for_loop::basic::for_downto_with_block ... ok [INFO] [stdout] test tests::control_flow::if_then_else::chains::deeply_chained_else_if ... ok [INFO] [stdout] test tests::control_flow::if_then_else::nesting::nested_if_inner_true ... ok [INFO] [stdout] test tests::control_flow::if_then_else::conditions::if_not_condition ... ok [INFO] [stdout] test tests::control_flow::if_then_else::chains::else_if_last_branch ... ok [INFO] [stdout] test tests::control_flow::if_then_else::nesting::nested_if_outer_false ... ok [INFO] [stdout] test tests::control_flow::if_then_else::conditions::if_or_condition ... ok [INFO] [stdout] test tests::control_flow::if_then_else::strings::if_string_not_equal ... ok [INFO] [stdout] test tests::control_flow::if_then_else::strings::if_string_equal ... ok [INFO] [stdout] test tests::control_flow::loop_locals::nested_repeat_with_vars_and_break ... ok [INFO] [stdout] test tests::control_flow::if_then_else::nesting::nested_if_inner_false ... ok [INFO] [stdout] test tests::control_flow::if_then_else::conditions::if_and_condition ... ok [INFO] [stdout] test tests::control_flow::if_then_else::chains::else_if_first_branch ... ok [INFO] [stdout] test tests::control_flow::loop_locals::repeat_condition_uses_body_var ... ok [INFO] [stdout] test tests::control_flow::if_then_else::sequential::multiple_sequential_ifs ... ok [INFO] [stdout] test tests::control_flow::loop_locals::for_var_in_body ... ok [INFO] [stdout] test tests::control_flow::loop_locals::repeat_multiple_vars_in_body ... ok [INFO] [stdout] test tests::control_flow::loop_locals::repeat_var_in_body ... ok [INFO] [stdout] test tests::control_flow::loop_locals::while_var_in_body ... ok [INFO] [stdout] test tests::control_flow::loop_locals::repeat_mutable_var_per_iteration ... ok [INFO] [stdout] test tests::control_flow::nested_mixed::for_in_repeat ... ok [INFO] [stdout] test tests::control_flow::nested_same_kind::nested_repeat_in_repeat ... ok [INFO] [stdout] test tests::control_flow::repeat_until::basic::repeat_executes_at_least_once ... ok [INFO] [stdout] test tests::control_flow::nested_mixed::repeat_in_for ... ok [INFO] [stdout] test tests::control_flow::loop_locals::repeat_with_break ... ok [INFO] [stdout] test tests::control_flow::nested_mixed::repeat_in_while ... ok [INFO] [stdout] test tests::control_flow::nested_mixed::while_in_for ... ok [INFO] [stdout] test tests::control_flow::nested_same_kind::nested_while_in_while ... ok [INFO] [stdout] test tests::control_flow::repeat_until::basic::repeat_single_statement_body ... ok [INFO] [stdout] test tests::control_flow::nested_mixed::for_in_while ... ok [INFO] [stdout] test tests::control_flow::nested_same_kind::nested_for_in_for ... ok [INFO] [stdout] test tests::control_flow::repeat_until::basic::repeat_code_after_loop ... ok [INFO] [stdout] test tests::control_flow::repeat_until::basic::repeat_condition_true_on_first_check ... ok [INFO] [stdout] test tests::control_flow::nested_mixed::while_in_repeat ... ok [INFO] [stdout] test tests::control_flow::repeat_until::conditions::repeat_boolean_variable_condition ... ok [INFO] [stdout] test tests::control_flow::repeat_until::conditions::repeat_greater_than_condition ... ok [INFO] [stdout] test tests::control_flow::loop_locals::repeat_with_var_and_if ... ok [INFO] [stdout] test tests::control_flow::repeat_until::conditions::repeat_and_condition ... ok [INFO] [stdout] test tests::control_flow::repeat_until::conditions::repeat_or_condition ... ok [INFO] [stdout] test tests::control_flow::repeat_until::conditions::repeat_not_condition ... ok [INFO] [stdout] test tests::control_flow::repeat_until::conditions::repeat_less_than_condition ... ok [INFO] [stdout] test tests::control_flow::repeat_until::integration::repeat_with_function_call_in_condition ... ok [INFO] [stdout] test tests::control_flow::repeat_until::conditions::repeat_not_equal_condition ... ok [INFO] [stdout] test tests::control_flow::repeat_until::integration::repeat_with_function_call_in_body ... ok [INFO] [stdout] test tests::control_flow::repeat_until::control::repeat_break_then_code_after ... ok [INFO] [stdout] test tests::control_flow::repeat_until::integration::repeat_with_case_in_body ... ok [INFO] [stdout] test tests::control_flow::repeat_until::state::repeat_accumulator ... ok [INFO] [stdout] test tests::control_flow::while_loop::basic::while_countdown ... ok [INFO] [stdout] test tests::control_flow::repeat_until::nesting::repeat_break_only_inner ... ok [INFO] [stdout] test tests::control_flow::repeat_until::nesting::repeat_continue_only_inner ... ok [INFO] [stdout] test tests::control_flow::repeat_until::integration::repeat_with_if_else_in_body ... ok [INFO] [stdout] test tests::control_flow::three_deep::for_in_repeat_in_while ... ok [INFO] [stdout] test tests::control_flow::while_loop::conditions::while_and_condition ... ok [INFO] [stdout] test tests::control_flow::three_deep::while_in_for_in_repeat ... ok [INFO] [stdout] test tests::control_flow::three_deep::repeat_in_while_in_for ... ok [INFO] [stdout] test tests::control_flow::while_loop::basic::while_false_never_executes ... ok [INFO] [stdout] test tests::control_flow::repeat_until::state::repeat_string_accumulation ... ok [INFO] [stdout] test tests::control_flow::while_loop::basic::while_empty_body ... ok [INFO] [stdout] test tests::control_flow::while_loop::basic::while_single_iteration ... ok [INFO] [stdout] test tests::control_flow::while_loop::basic::while_single_statement_body ... ok [INFO] [stdout] test tests::control_flow::while_loop::basic::while_negative_counter ... ok [INFO] [stdout] test tests::control_flow::while_loop::conditions::while_condition_reevaluated ... ok [INFO] [stdout] test tests::control_flow::while_loop::conditions::while_with_if_else_body ... ok [INFO] [stdout] test tests::control_flow::repeat_until::state::repeat_multi_statement_without_begin_end ... ok [INFO] [stdout] test tests::control_flow::while_loop::conditions::while_not_condition ... ok [INFO] [stdout] test tests::control_flow::while_loop::nesting::while_break_exits_inner_only ... ok [INFO] [stdout] test tests::control_flow::while_loop::control::while_break_and_continue ... ok [INFO] [stdout] test tests::control_flow::repeat_until::control::repeat_continue_skips_rest_of_body ... ok [INFO] [stdout] test tests::control_flow::repeat_until::control::repeat_break_and_continue ... ok [INFO] [stdout] test tests::control_flow::while_loop::basic::while_true_immediate_break ... ok [INFO] [stdout] test tests::control_flow::while_loop::nesting::while_continue_inner_only ... ok [INFO] [stdout] test tests::control_flow::while_loop::conditions::while_string_condition ... ok [INFO] [stdout] test tests::diagnostics::runtime_std_conversion_failure_has_code_column_and_help ... ok [INFO] [stdout] test tests::control_flow::while_loop::control::while_true_conditional_break ... ok [INFO] [stdout] test tests::control_flow::while_loop::conditions::while_or_condition ... ok [INFO] [stdout] test tests::control_flow::repeat_until::control::repeat_continue_all_skipped ... ok [INFO] [stdout] test tests::diagnostics::intrinsic_arity_error_has_correct_code ... ok [INFO] [stdout] test tests::diagnostics::runtime_vm_division_by_zero_has_code_column_and_help ... ok [INFO] [stdout] test tests::enums::basic::enum_case_match ... ok [INFO] [stdout] test tests::enums::basic::enum_pass_to_function ... ok [INFO] [stdout] test tests::enums::basic::enum_not_equal ... ok [INFO] [stdout] test tests::enums::data_construction::enum_data_construct_and_match ... ok [INFO] [stdout] test tests::control_flow::while_loop::control::while_continue_skips_iteration ... ok [INFO] [stdout] test tests::enums::data_construction::enum_data_mixed_simple_and_data_variants ... ok [INFO] [stdout] test tests::enums::basic::enum_assign_and_compare ... ok [INFO] [stdout] test tests::enums::data_matching::bindings::enum_data_compute_with_bindings ... ok [INFO] [stdout] test tests::control_flow::while_loop::state::while_accumulator ... ok [INFO] [stdout] test tests::enums::basic::enum_with_backing_values ... ok [INFO] [stdout] test tests::control_flow::while_loop::basic::while_many_iterations ... ok [INFO] [stdout] test tests::enums::data_construction::enum_data_multiple_fields ... ok [INFO] [stdout] test tests::enums::data_construction::enum_data_with_integer_fields ... ok [INFO] [stdout] test tests::enums::data_matching::matching::enum_data_fieldless_variant_matched_in_data_enum ... ok [INFO] [stdout] test tests::enums::data_construction::enum_data_return_variant_from_function ... ok [INFO] [stdout] test tests::enums::data_construction::enum_data_pass_to_function ... ok [INFO] [stdout] test tests::enums::data_matching::bindings::enum_data_reuse_binding_names_across_arms ... ok [INFO] [stdout] test tests::enums::data_matching::matching::enum_data_case_multiple_labels_keep_each_label_pattern ... ok [INFO] [stdout] test tests::enums::data_matching::matching::enum_data_all_variants_have_fields ... ok [INFO] [stdout] test tests::enums::data_matching::structure::enum_data_case_with_begin_end_block ... ok [INFO] [stdout] test tests::enums::data_matching::bindings::enum_data_string_fields ... ok [INFO] [stdout] test tests::enums::errors::enum_data_wrong_arg_count_too_many ... ok [INFO] [stdout] test tests::enums::errors::enum_data_variant_used_as_simple_when_it_has_fields ... ok [INFO] [stdout] test tests::enums::errors::enum_data_wrong_arg_count_too_few ... ok [INFO] [stdout] test tests::enums::errors::enum_data_wrong_arg_type ... ok [INFO] [stdout] test tests::enums::errors::enum_type_mismatch_in_assignment ... ok [INFO] [stdout] test tests::enums::errors::enum_data_call_fieldless_variant_with_args ... ok [INFO] [stdout] test tests::enums::data_matching::matching::enum_data_else_branch ... ok [INFO] [stdout] test tests::enums::errors::unknown_enum_variant ... ok [INFO] [stdout] test tests::enums::data_matching::structure::enum_data_three_field_variant ... ok [INFO] [stdout] test tests::enums::errors::enum_returned_from_function_and_matched ... ok [INFO] [stdout] test tests::enums::data_matching::bindings::enum_data_boolean_field ... ok [INFO] [stdout] test tests::expressions::string_output ... ok [INFO] [stdout] test tests::expressions::array_in_loop ... ok [INFO] [stdout] test tests::functions::function_call_is_case_insensitive_at_runtime ... ok [INFO] [stdout] test tests::expressions::const_decl ... ok [INFO] [stdout] test tests::expressions::array_literal ... ok [INFO] [stdout] test tests::expressions::array_index_get ... ok [INFO] [stdout] test tests::expressions::negation ... ok [INFO] [stdout] test tests::expressions::break_in_while ... ok [INFO] [stdout] test tests::expressions::boolean_logic ... ok [INFO] [stdout] test tests::enums::errors::enum_variant_with_more_than_255_fields_reports_bytecode_operand_overflow ... ok [INFO] [stdout] test tests::expressions::array_index_set ... ok [INFO] [stdout] test tests::functions::early_return_from_loop ... ok [INFO] [stdout] test tests::expressions::array_index_with_expression ... ok [INFO] [stdout] test tests::functions::chained_function_calls ... ok [INFO] [stdout] test tests::expressions::nested_calls ... ok [INFO] [stdout] test tests::functions::early_return_skips_remaining_code ... ok [INFO] [stdout] test tests::functions::function_returning_real ... ok [INFO] [stdout] test tests::functions::function_many_parameters ... ok [INFO] [stdout] test tests::functions::function_type_alias_as_variable ... ok [INFO] [stdout] test tests::functions::function_returning_string ... ok [INFO] [stdout] test tests::functions::procedure_multiple_params ... ok [INFO] [stdout] test tests::functions_errors::args_to_zero_param_function ... ok [INFO] [stdout] test tests::functions_errors::argument_type_mismatch ... ok [INFO] [stdout] test tests::functions::procedure_zero_params ... ok [INFO] [stdout] test tests::functions_errors::call_undeclared_function ... ok [INFO] [stdout] test tests::functions_errors::call_undeclared_procedure ... ok [INFO] [stdout] test tests::functions_errors::duplicate_function_definition ... ok [INFO] [stdout] test tests::functions_errors::argument_type_mismatch_second_param ... ok [INFO] [stdout] test tests::functions_errors::function_and_procedure_same_name ... ok [INFO] [stdout] test tests::functions::procedure_with_side_effects_only ... ok [INFO] [stdout] test tests::functions::recursive_function ... ok [INFO] [stdout] test tests::functions::function_returning_boolean ... ok [INFO] [stdout] test tests::functions::function_result_in_expression ... ok [INFO] [stdout] test tests::functions::function_calling_other_function ... ok [INFO] [stdout] test tests::functions_errors::duplicate_procedure_definition ... ok [INFO] [stdout] test tests::functions::function_type_alias_as_parameter ... ok [INFO] [stdout] test tests::functions::recursive_function_base_case_zero ... ok [INFO] [stdout] test tests::functions::procedure_type_alias ... ok [INFO] [stdout] test tests::functions::hypotenuse_from_spec ... ok [INFO] [stdout] test tests::functions_errors::procedure_result_used_in_expression ... ok [INFO] [stdout] test tests::functions::procedure_call ... ok [INFO] [stdout] test tests::functions::simple_function ... ok [INFO] [stdout] test tests::functions::multi_param_function_clamp ... ok [INFO] [stdout] test tests::functions_errors::procedure_too_few_arguments ... ok [INFO] [stdout] test tests::functions_errors::procedure_result_used_as_value ... ok [INFO] [stdout] test tests::functions_errors::too_many_arguments ... ok [INFO] [stdout] test tests::generics::errors::generic_function_type_param_not_in_scope_outside ... ok [INFO] [stdout] test tests::functions_errors::function_with_more_than_255_parameters_reports_bytecode_operand_overflow ... ok [INFO] [stdout] test tests::generics::enums::generic_enum_type_params_produce_parse_error ... ok [INFO] [stdout] test tests::functions_errors::return_type_mismatch_in_assignment ... ok [INFO] [stdout] test tests::functions_errors::return_wrong_type_in_function_body ... ok [INFO] [stdout] test tests::functions_errors::too_few_arguments ... ok [INFO] [stdout] test tests::generics::aliases::generic_type_alias_of_syntax_produces_parse_error ... ok [INFO] [stdout] test tests::generics::errors::generic_record_definition_produces_parse_error ... ok [INFO] [stdout] test tests::generics::edge_cases::generic_three_type_params ... ok [INFO] [stdout] test tests::functions_errors::zero_args_to_parameterized_function ... ok [INFO] [stdout] test tests::functions_errors::procedure_too_many_arguments ... ok [INFO] [stdout] test tests::generics::constraints::constrained_generic_record_produces_parse_error ... ok [INFO] [stdout] test tests::generics::constraints::constrained_generic_function_comparable_is_valid ... ok [INFO] [stdout] test tests::generics::methods::generic_record_method_constraint_violation_is_compile_error ... ok [INFO] [stdout] test tests::generics::edge_cases::generic_long_type_param_name ... ok [INFO] [stdout] test tests::generics::edge_cases::generic_single_letter_type_params ... ok [INFO] [stdout] test tests::generics::functions::multi_param::generic_procedure ... ok [INFO] [stdout] test tests::generics::functions::collections::generic_function_with_array_param ... ok [INFO] [stdout] test tests::generics::functions::multi_param::generic_function_two_type_params ... ok [INFO] [stdout] test tests::generics::functions::identity::generic_identity_function_string ... ok [INFO] [stdout] test tests::generics::functions::identity::generic_function_called_multiple_times_different_types ... ok [INFO] [stdout] test tests::generics::methods::generic_record_method_can_return_local_generic_variable ... ok [INFO] [stdout] test tests::generics::records::generic_record_type_params_produce_parse_error ... ok [INFO] [stdout] test tests::generics::functions::collections::generic_function_returning_array ... ok [INFO] [stdout] test tests::generics::functions::multi_param::generic_function_second_of_two_params ... ok [INFO] [stdout] test tests::generics::functions::identity::generic_identity_function_integer ... ok [INFO] [stdout] test tests::generics::mixed::generic_function_with_generic_param_and_concrete ... ok [INFO] [stdout] test tests::generics::functions::identity::generic_identity_function_boolean ... ok [INFO] [stdout] test tests::nested_functions::nested_function_shadows_outer_param ... ok [INFO] [stdout] test tests::generics::functions::identity::generic_function_nested_call ... ok [INFO] [stdout] test tests::nested_functions::deeply_nested_function ... ok [INFO] [stdout] test tests::generics::functions::identity::generic_identity_function_real ... ok [INFO] [stdout] test tests::numeric_binary_ops::integer_plus_real_promotes_to_real ... ok [INFO] [stdout] test tests::numeric_binary_ops::real_equality_comparison ... ok [INFO] [stdout] test tests::nested_functions::multiple_nested_functions_at_same_level ... ok [INFO] [stdout] test tests::nested_functions::nested_function_own_params_and_capture ... ok [INFO] [stdout] test tests::nested_functions::nested_function_with_own_local_vars ... ok [INFO] [stdout] test tests::numeric_binary_ops::mixed_numeric_comparison_uses_real_semantics ... ok [INFO] [stdout] test tests::nested_functions::nested_function_reads_parent_local ... ok [INFO] [stdout] test tests::nested_functions::nested_procedure_captures_parent ... ok [INFO] [stdout] test tests::parallel_vm_phase1::go_statement_emits_spawn_detached_task_and_marks_chunk ... ok [INFO] [stdout] test tests::numeric_binary_ops::real_addition_prints ... ok [INFO] [stdout] test tests::parallel_vm_phase1::go_std_call_wrapper_still_emits_spawn_opcode ... ok [INFO] [stdout] test tests::parallel_vm_phase1::go_with_two_arguments_emits_spawn_task_with_argc_two ... ok [INFO] [stdout] test tests::parallel_vm_phase1::importing_std_task_without_go_does_not_mark_chunk ... ok [INFO] [stdout] test tests::numeric_binary_ops::slash_on_integer_literals_is_real_division ... ok [INFO] [stdout] test tests::numeric_binary_ops::real_literal_comparison_in_if ... ok [INFO] [stdout] test tests::pattern_matching::edge_cases::guarded_plus_unguarded_covers_variant ... ok [INFO] [stdout] test tests::parallel_vm_phase1::go_expression_emits_spawn_task_and_marks_chunk ... ok [INFO] [stdout] test tests::parallel_vm_phase1::program_with_both_go_forms_contains_both_spawn_opcodes ... ok [INFO] [stdout] test tests::pattern_matching::edge_cases::exhaustiveness_help_text_present ... ok [INFO] [stdout] test tests::pattern_matching::edge_cases::guard_with_nested_case ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::result_option::exhaustiveness_error_missing_option_both ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::enums::exhaustiveness_error_missing_enum_variant ... ok [INFO] [stdout] test tests::generics::methods::generic_record_method_infers_return_type_from_callback ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::guards::exhaustiveness_guarded_arm_does_not_count ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::guards::exhaustiveness_error_single_variant_enum_no_arms ... ok [INFO] [stdout] test tests::pattern_matching::edge_cases::guard_on_result_ok_big_value ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::guards::exhaustiveness_all_guarded_data_enum ... ok [INFO] [stdout] test tests::parallel_vm_phase1::program_without_go_does_not_mark_uses_spawn_tasks ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::enums::exhaustiveness_error_missing_multiple_enum_variants ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::data_enums::exhaustiveness_error_data_enum_missing_variant ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::result_option::exhaustiveness_error_missing_option_none ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::result_option::exhaustiveness_error_missing_option_some ... ok [INFO] [stdout] test tests::pattern_matching::edge_cases::guard_in_function_with_return ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::result_option::exhaustiveness_error_missing_result_err ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::result_option::exhaustiveness_error_missing_result_ok ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::scalars::exhaustiveness_not_required_on_string ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_ok_data_enum_with_else ... ok [INFO] [stdout] test tests::functions::function_zero_params ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_not_required_on_integer ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_ok_option_with_else ... ok [INFO] [stdout] test tests::nested_functions::nested_function_reads_parent_param ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_ok_all_enum_variants_covered ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::scalars::exhaustiveness_not_required_on_boolean ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::errors::result_option::exhaustiveness_error_missing_result_both ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_ok_option_both_covered ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::scalars::exhaustiveness_not_required_on_char ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_ok_data_enum_all_covered ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_ok_result_both_covered ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_ok_else_branch_present ... ok [INFO] [stdout] test tests::pattern_matching::edge_cases::guard_on_option_some_negative ... ok [INFO] [stdout] test tests::pattern_matching::guard_data_enum::guard_on_data_enum_square ... ok [INFO] [stdout] test tests::pattern_matching::guard_errors::guard_string_expression_is_error ... ok [INFO] [stdout] test tests::pattern_matching::guard_errors::guard_non_boolean_expression_is_error ... ok [INFO] [stdout] test tests::pattern_matching::guard_data_enum::guard_on_data_enum_fallthrough ... ok [INFO] [stdout] test tests::pattern_matching::guard_result_option::guard_on_result_err_fallthrough ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::edge_cases::guard_always_true_matches ... ok [INFO] [stdout] test tests::pattern_matching::guard_result_option::guard_on_option_fallthrough_to_none ... ok [INFO] [stdout] test tests::pattern_matching::guard_data_enum::guard_on_data_enum ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::edge_cases::guard_references_outer_scope_variable ... ok [INFO] [stdout] test tests::pattern_matching::guard_result_option::guard_on_result_err_arm ... ok [INFO] [stdout] test tests::pattern_matching::guard_result_option::guard_on_result_destructure ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::edge_cases::guard_always_false_falls_through ... ok [INFO] [stdout] test tests::pattern_matching::exhaustiveness::success::exhaustiveness_ok_result_with_else ... ok [INFO] [stdout] test tests::pattern_matching::guard_data_enum::guard_on_fieldless_variant_with_else ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::edge_cases::guard_on_boolean_case ... ok [INFO] [stdout] test tests::pattern_matching::guard_result_option::guard_on_option_destructure ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::flow::guard_all_fail_falls_to_else ... ok [INFO] [stdout] test tests::pattern_matching::guard_data_enum::guard_on_data_enum_multiple_guarded_same_variant ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::edge_cases::guard_on_result_with_outer_scope ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::edge_cases::guard_on_enum_with_outer_scope_variable ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::numeric::guard_binding_is_scoped_to_arm_body ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::edge_cases::guard_on_char_case ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::edge_cases::guard_on_range_with_else ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::numeric::guard_on_integer_ranges ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::strings::string_case_single_char_label_no_match ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::numeric::guard_binding_does_not_override_constant_label ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::numeric::guard_on_integer_classify ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::flow::guard_fallthrough_to_unguarded ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::strings::guard_on_string_case ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::numeric::guard_with_complex_boolean_expression ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::strings::string_case_single_char_label_match ... ok [INFO] [stdout] test tests::records::basics::record_create_and_field_get ... ok [INFO] [stdout] test tests::records::basics::record_field_set ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::flow::guard_multiple_arms_first_matching_wins ... ok [INFO] [stdout] test tests::records::basics::record_with_string_fields ... ok [INFO] [stdout] test tests::records::basics::record_nested_field_access ... ok [INFO] [stdout] test tests::records::basics::record_with_boolean_and_real_fields ... ok [INFO] [stdout] test tests::records::defaults::record_missing_multiple_required_fields_error ... ok [INFO] [stdout] test tests::records::basics::record_pass_to_function ... ok [INFO] [stdout] test tests::records::errors::immutable_record_field_set_error ... ok [INFO] [stdout] test tests::records::defaults::record_missing_required_field_with_defaults_present ... ok [INFO] [stdout] test tests::records::defaults::record_default_used_when_field_omitted ... ok [INFO] [stdout] test tests::records::defaults::record_default_overridden_by_explicit_value ... ok [INFO] [stdout] test tests::records::basics::mutable_record_partial_field_update ... ok [INFO] [stdout] test tests::records::errors::record_access_nonexistent_field ... ok [INFO] [stdout] test tests::records::defaults::record_default_not_used_when_field_explicitly_provided ... ok [INFO] [stdout] test tests::records::errors::record_field_type_mismatch ... ok [INFO] [stdout] test tests::records::errors::record_literal_duplicate_field_reports_error ... ok [INFO] [stdout] test tests::records::errors::record_method_without_self_parameter_is_rejected ... ok [INFO] [stdout] test tests::records::errors::record_unknown_field_type ... ok [INFO] [stdout] test tests::records::errors::method_wrong_arg_count ... ok [INFO] [stdout] test tests::records::defaults::record_wrong_type_for_defaulted_field ... ok [INFO] [stdout] test tests::records::defaults::record_default_negative_integer_value ... ok [INFO] [stdout] test tests::records::errors::record_method_with_wrong_first_parameter_name_is_rejected ... ok [INFO] [stdout] test tests::records::errors::record_literal_extra_field_reports_error ... ok [INFO] [stdout] test tests::records::errors::record_literal_missing_field_reports_error ... ok [INFO] [stdout] test tests::records::defaults::record_partial_defaults_multiple_types ... ok [INFO] [stdout] test tests::records::defaults::record_default_boolean_field ... ok [INFO] [stdout] test tests::records::basics::record_returned_from_function ... ok [INFO] [stdout] test tests::records::defaults::record_all_defaults_empty_literal ... ok [INFO] [stdout] test tests::records::defaults::record_default_required_and_defaulted_mix ... ok [INFO] [stdout] test tests::records::errors::record_method_with_wrong_self_type_is_rejected ... ok [INFO] [stdout] test tests::records::methods::method_body_uses_std_conv ... ok [INFO] [stdout] test tests::records::defaults::record_default_string_field ... ok [INFO] [stdout] test tests::records::methods::record_method_name_is_case_insensitive_at_runtime ... ok [INFO] [stdout] test tests::records::methods::record_method_procedure ... ok [INFO] [stdout] test tests::records::basics::record_literal_named_fields_can_be_out_of_order ... ok [INFO] [stdout] test tests::records::self_calls::procedure_method_calls_function_method_on_self ... ok [INFO] [stdout] test tests::records::methods::record_method_function_no_extra_args ... ok [INFO] [stdout] test tests::records::self_calls::method_chain_via_intermediate_variable ... ok [INFO] [stdout] test tests::records::self_calls::method_on_self_boolean_result ... ok [INFO] [stdout] test tests::records::with_update::record_with_on_non_record_error ... ok [INFO] [stdout] test tests::records::with_update::record_with_string_field_update ... ok [INFO] [stdout] test tests::records::with_update::record_with_unknown_field_error ... ok [INFO] [stdout] test tests::records::with_update::record_with_wrong_type_error ... ok [INFO] [stdout] test tests::records::methods::record_method_function_with_extra_args ... ok [INFO] [stdout] test tests::records::with_update::record_with_all_fields_overridden ... ok [INFO] [stdout] test tests::records::self_calls::method_calls_own_method_on_self ... ok [INFO] [stdout] test tests::records::with_update::record_with_combined_with_defaults ... ok [INFO] [stdout] test tests::records::self_calls::method_calls_other_method_on_self_with_args ... ok [INFO] [stdout] test tests::records::methods::record_multiple_methods ... ok [INFO] [stdout] test tests::records::with_update::record_with_multiple_fields_update ... ok [INFO] [stdout] test tests::result_option::case_destructuring::result_error_binding_not_accessible_outside_arm ... ok [INFO] [stdout] test tests::result_option::case_destructuring::case_result_multi_label_shared_binding ... ok [INFO] [stdout] test tests::records::with_update::record_with_only_unmodified_fields_preserved ... ok [INFO] [stdout] test tests::result_option::case_destructuring::option_case_binding_not_accessible_after_case ... ok [INFO] [stdout] test tests::result_option::case_destructuring::case_result_err_branch ... ok [INFO] [stdout] test tests::result_option::case_destructuring::case_result_destructure ... ok [INFO] [stdout] test tests::records::with_update::record_with_on_function_return ... ok [INFO] [stdout] test tests::pattern_matching::guard_scalar::strings::string_case_single_char_multiple_labels ... ok [INFO] [stdout] test tests::result_option::case_destructuring::case_option_none_branch ... ok [INFO] [stdout] test tests::records::with_update::record_with_chained_updates ... ok [INFO] [stdout] test tests::result_option::combinators::compile_time_error_wrong_value_type::option_and_then_on_non_option_panics ... ok [INFO] [stdout] test tests::result_option::combinators::compile_time_error_wrong_value_type::result_and_then_on_non_result_panics ... ok [INFO] [stdout] test tests::result_option::case_destructuring::result_case_binding_not_accessible_after_case ... ok [INFO] [stdout] test tests::records::with_update::record_with_single_field_update ... ok [INFO] [stdout] test tests::result_option::case_destructuring::case_option_destructure ... ok [INFO] [stdout] test tests::result_option::combinators::compile_time_error_wrong_value_type::result_or_else_on_non_result_panics ... ok [INFO] [stdout] test tests::result_option::combinators::compile_time_error_wrong_value_type::option_map_on_non_option_panics ... ok [INFO] [stdout] test tests::result_option::combinators::compile_time_error_wrong_value_type::result_map_on_non_result_panics ... ok [INFO] [stdout] test tests::records::with_update::record_with_result_passed_to_function ... ok [INFO] [stdout] test tests::result_option::combinators::deeper_chaining_3_steps_error_short_circuits::option_three_step_chain_none_short_circuits ... ok [INFO] [stdout] test tests::result_option::combinators::combinator_with_named_function::result_map_with_named_function ... ok [INFO] [stdout] test tests::result_option::combinators::compile_time_error_wrong_value_type::option_or_else_on_non_option_panics ... ok [INFO] [stdout] test tests::result_option::combinators::chaining::result_map_and_then_chain ... ok [INFO] [stdout] test tests::result_option::combinators::combinator_with_named_function::option_and_then_named_function_returns_none ... ok [INFO] [stdout] test tests::result_option::combinators::closures_capture_enclosing_variables::result_map_closure_captures_variable ... ok [INFO] [stdout] test tests::result_option::combinators::identity_map_callback_returns_input_unchanged::result_map_identity ... ok [INFO] [stdout] test tests::result_option::combinators::combinator_with_named_function::option_and_then_with_named_function ... ok [INFO] [stdout] test tests::records::with_update::record_with_preserves_original ... ok [INFO] [stdout] test tests::result_option::combinators::option_and_then::option_and_then_some_chains ... ok [INFO] [stdout] test tests::result_option::combinators::option_map::option_map_some_transforms_value ... ok [INFO] [stdout] test tests::result_option::combinators::closures_capture_enclosing_variables::option_map_closure_captures_variable ... ok [INFO] [stdout] test tests::result_option::combinators::option_and_then::option_and_then_some_returns_none ... ok [INFO] [stdout] test tests::result_option::combinators::combined_result_option_combinators::result_and_option_combinators_interleaved ... ok [INFO] [stdout] test tests::result_option::combinators::nested_result_option::result_map_nested_option_inner ... ok [INFO] [stdout] test tests::result_option::combinators::deeper_chaining_3_steps_error_short_circuits::result_three_step_chain_error_short_circuits ... ok [INFO] [stdout] test tests::result_option::combinators::or_else_callback_returns_error_none::option_or_else_none_returns_none ... ok [INFO] [stdout] test tests::result_option::combinators::option_map::option_map_none_passes_through ... ok [INFO] [stdout] test tests::result_option::combinators::chaining::option_map_and_then_chain ... ok [INFO] [stdout] test tests::result_option::combinators::deeper_chaining_3_steps_error_short_circuits::result_three_step_chain_ok ... ok [INFO] [stdout] test tests::result_option::combinators::qualified_calls::option_and_then_qualified_call ... ok [INFO] [stdout] test tests::result_option::combinators::identity_map_callback_returns_input_unchanged::option_map_identity ... ok [INFO] [stdout] test tests::result_option::combinators::option_or_else::option_or_else_none_provides_fallback ... ok [INFO] [stdout] test tests::result_option::combinators::result_and_then::result_and_then_ok_produces_error ... ok [INFO] [stdout] test tests::result_option::combinators::qualified_calls::result_map_qualified_call ... ok [INFO] [stdout] test tests::result_option::combinators::result_and_then::result_and_then_error_passes_through ... ok [INFO] [stdout] test tests::result_option::option_cases::option_in_for_loop ... ok [INFO] [stdout] test tests::result_option::combinators::nested_result_option::option_map_wraps_in_result ... ok [INFO] [stdout] test tests::result_option::option_cases::option_none_as_function_return ... ok [INFO] [stdout] test tests::result_option::option_cases::option_none_and_is_none ... ok [INFO] [stdout] test tests::result_option::combinators::option_or_else::option_or_else_some_passes_through ... ok [INFO] [stdout] test tests::result_option::combinators::result_map::result_map_error_passes_through ... ok [INFO] [stdout] test tests::result_option::option_cases::option_in_while_loop ... ok [INFO] [stdout] test tests::result_option::combinators::map_with_type_transformation_different_input_output_types::result_map_integer_to_boolean ... ok [INFO] [stdout] test tests::result_option::option_cases::option_unwrap_none_panics ... ok [INFO] [stdout] test tests::result_option::combinators::or_else_callback_returns_error_none::result_or_else_error_to_error ... ok [INFO] [stdout] test tests::result_option::combinators::result_or_else::result_or_else_ok_passes_through ... ok [INFO] [stdout] test tests::result_option::combinators::result_or_else::result_or_else_error_recovers ... ok [INFO] [stdout] test tests::result_option::combinators::option_and_then::option_and_then_none_passes_through ... ok [INFO] [stdout] test tests::result_option::combinators::result_map::result_map_ok_transforms_value ... ok [INFO] [stdout] test tests::result_option::option_functions::option_of_string_none ... ok [INFO] [stdout] test tests::result_option::option_functions::find_index_last_element ... ok [INFO] [stdout] test tests::result_option::option_functions::option_of_string_some ... ok [INFO] [stdout] test tests::result_option::option_cases::option_some_and_unwrap ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_has_runtime_program_panic_code ... ok [INFO] [stdout] test tests::result_option::option_cases::option_is_some_on_none ... ok [INFO] [stdout] test tests::result_option::option_cases::option_is_some ... ok [INFO] [stdout] test tests::result_option::option_cases::option_is_none_on_some ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_in_guard_function ... ok [INFO] [stdout] test tests::result_option::option_cases::option_of_real ... ok [INFO] [stdout] test tests::result_option::combinators::map_with_type_transformation_different_input_output_types::option_map_string_to_integer ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_halts_execution ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_no_argument_is_parse_error ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_in_while_loop_body ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_in_guard_function_triggers_on_zero ... ok [INFO] [stdout] test tests::result_option::option_functions::find_index_returns_some ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_in_case_else_branch_happy_path ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_in_case_else_branch_triggers ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_in_nested_function ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_with_boolean_is_compile_error ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_with_real_is_compile_error ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_with_empty_string ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::ok_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_with_integer_is_compile_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::none_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_with_string_expression ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::ok_as_function_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::error_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::option_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::option_uppercase_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::panic_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::result_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::result_lowercase_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::some_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::try_as_function_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::try_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::try_mixed_case_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::panic_as_function_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::result_as_function_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::option_cases::option_unwrap_or_some_returns_value ... ok [INFO] [stdout] test tests::result_option::option_functions::find_index_first_element ... ok [INFO] [stdout] test tests::result_option::panic_handling::panic_with_string_literal ... ok [INFO] [stdout] test tests::result_option::result_cases::empty_error_message_string ... ok [INFO] [stdout] test tests::result_option::option_functions::find_index_empty_array ... ok [INFO] [stdout] test tests::result_option::result_cases::result_err_and_is_err ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::result_as_local_variable_name_in_method_is_parse_error ... ok [INFO] [stdout] test tests::result_option::reserved_keywords::none_uppercase_as_variable_name_is_parse_error ... ok [INFO] [stdout] test tests::result_option::result_cases::result_is_error_on_ok ... ok [INFO] [stdout] test tests::result_option::option_cases::option_unwrap_or ... ok [INFO] [stdout] test tests::result_option::result_cases::result_is_ok ... ok [INFO] [stdout] test tests::result_option::result_cases::result_unwrap_or ... ok [INFO] [stdout] test tests::result_option::combinators::result_and_then::result_and_then_ok_chains ... ok [INFO] [stdout] test tests::result_option::result_cases::result_in_while_loop ... ok [INFO] [stdout] test tests::result_option::result_cases::result_unwrap_err_panics ... ok [INFO] [stdout] test tests::result_option::result_cases::result_ok_and_writeln ... ok [INFO] [stdout] test tests::result_option::result_cases::result_in_for_loop ... ok [INFO] [stdout] test tests::result_option::result_cases::result_of_boolean_ok ... ok [INFO] [stdout] test tests::result_option::result_functions::divide_returns_ok ... ok [INFO] [stdout] test tests::result_option::option_functions::find_index_returns_none ... ok [INFO] [stdout] test tests::result_option::result_cases::result_unwrap_or_ok_returns_value ... ok [INFO] [stdout] test tests::result_option::result_cases::result_is_ok_on_error ... ok [INFO] [stdout] test tests::result_option::result_functions::divide_returns_error_on_zero ... ok [INFO] [stdout] test tests::result_option::result_functions::result_of_string_string ... ok [INFO] [stdout] test tests::result_option::result_cases::result_of_boolean_error ... ok [INFO] [stdout] test tests::result_option::result_functions::result_passed_as_function_parameter ... ok [INFO] [stdout] test tests::result_option::result_functions::result_multiple_error_conditions ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_on_integer_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_option_in_plain_function_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_result_in_option_function_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_on_string_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_result_in_plain_function_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_on_boolean_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::nested_try_expressions::try_nested_in_function_call ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::multiple_try_in_one_function::try_chained_multiple_calls ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::nested_try_expressions::try_nested_second_fails ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::try_in_program_main_block::try_option_in_program_main_block_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_in_procedure_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_option_in_result_function_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::negative_try_on_non_result_option::try_result_error_type_mismatch_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::try_in_program_main_block::try_result_in_program_main_block_is_compile_error ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::process_example_from_docs::try_process_example_ok ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::nested_try_expressions::try_nested_first_fails ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::process_example_from_docs::try_process_example_error_propagation ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::error_content_preservation_through_try::try_preserves_error_content ... ok [INFO] [stdout] test tests::routine_declarations::duplicate_function_rejected ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::multiple_try_in_one_function::try_chained_first_fails ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::try_with_option_first_positive_example_from_docs::try_option_first_positive_found ... ok [INFO] [stdout] test tests::result_option::result_functions::result_of_string_string_error_branch ... ok [INFO] [stdout] test tests::result_option::option_functions::option_of_boolean ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::multiple_try_in_one_function::try_chained_second_fails ... ok [INFO] [stdout] test tests::routine_declarations::callee_declared_before_caller ... ok [INFO] [stdout] test tests::result_option::try_operator::try_on_err_returns_early ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::try_with_option_first_positive_example_from_docs::try_option_first_positive_not_found ... ok [INFO] [stdout] test tests::result_option::result_functions::result_error_message_preserved_in_case ... ok [INFO] [stdout] test tests::result_option::try_operator::try_on_ok_unwraps ... ok [INFO] [stdout] test tests::short_names::console::short_std_console_symbols_are_case_insensitive_in_mixed_case ... ok [INFO] [stdout] test tests::short_names::console::short_key_event_and_enum ... ok [INFO] [stdout] test tests::routine_declarations::duplicate_procedure_vs_function_rejected ... ok [INFO] [stdout] test tests::routine_declarations::function_zero_params_no_forward ... ok [INFO] [stdout] test tests::short_names::array::short_array_sort_push_pop ... ok [INFO] [stdout] test tests::routine_declarations::function_with_multiple_params_no_forward ... ok [INFO] [stdout] test tests::routine_declarations::procedure_single_declaration ... ok [INFO] [stdout] test tests::routine_declarations::nested_mutual_recursion_is_even_odd ... ok [INFO] [stdout] test tests::result_option::try_edge_cases::try_in_expression_context::try_result_used_in_arithmetic ... ok [INFO] [stdout] test tests::result_option::try_operator::try_on_none_returns_early ... ok [INFO] [stdout] test tests::short_names::console::short_readln ... ok [INFO] [stdout] test tests::routine_declarations::duplicate_function_kind_mismatch_rejected ... ok [INFO] [stdout] test tests::result_option::try_operator::try_on_some_unwraps ... ok [INFO] [stdout] test tests::short_names::conv::short_conv_runtime_error ... ok [INFO] [stdout] test tests::short_names::conv::short_conv_all ... ok [INFO] [stdout] test tests::short_names::console::short_writeln_variadic_multiple_args ... ok [INFO] [stdout] test tests::short_names::math::short_runtime_error_preserves_behavior ... ok [INFO] [stdout] test tests::short_names::math::short_math_pow_floor_ceil ... ok [INFO] [stdout] test tests::std_library::array::std_array_pop_empty_runtime ... ok [INFO] [stdout] test tests::std_library::array::std_slice_out_of_range_runtime ... ok [INFO] [stdout] test tests::short_names::mixed::short_mixed_with_qualified ... ok [INFO] [stdout] test tests::std_library::array::std_array_index_of_var_from_literal ... ok [INFO] [stdout] test tests::short_names::console::short_write ... ok [INFO] [stdout] test tests::short_names::math::short_math_sqrt_and_pi ... ok [INFO] [stdout] test tests::short_names::console::short_writeln ... ok [INFO] [stdout] test tests::std_library::array::std_array_sort_push_pop_slice ... ok [INFO] [stdout] test tests::short_names::math::short_math_abs_min_max ... ok [INFO] [stdout] test tests::short_names::mixed::short_no_uses_falls_through_to_user_function ... ok [INFO] [stdout] test tests::std_library::concurrency::go_supports_std_library_function_calls ... ok [INFO] [stdout] test tests::std_library::concurrency::go_wait_all_supports_procedure_tasks ... ok [INFO] [stdout] test tests::short_names::mixed::short_does_not_shadow_local_variable ... ok [INFO] [stdout] test tests::short_names::mixed::short_str_ops ... ok [INFO] [stdout] test tests::std_library::console::crt::std_console_crt_text_attr_modes_and_compat_calls ... ok [INFO] [stdout] test tests::std_library::console::events::std_console_read_event_resize_updates_screen_state ... ok [INFO] [stdout] test tests::std_library::console::events::std_console_poll_event_returns_none_when_no_events ... ok [INFO] [stdout] test tests::std_library::console::events::std_console_poll_event_returns_some_when_event_queued ... ok [INFO] [stdout] test tests::std_library::console::events::std_console_poll_event_returns_option_type ... ok [INFO] [stdout] test tests::std_library::concurrency::wait_all_does_not_consume_task_results ... ok [INFO] [stdout] test tests::std_library::concurrency::go_supports_record_method_calls ... ok [INFO] [stdout] test tests::std_library::array::std_array_index_of_literal_array ... ok [INFO] [stdout] test tests::std_library::console::crt::std_console_crt_color_constants_and_delay ... ok [INFO] [stdout] test tests::std_library::console::events::std_console_session_procedures_compile ... ok [INFO] [stdout] test tests::std_library::console::events::std_console_read_event_timeout_returns_none_in_test_mode ... ok [INFO] [stdout] test tests::std_library::concurrency::go_supports_std_library_procedure_calls ... ok [INFO] [stdout] test tests::std_library::console::input::std_console_keypressed_and_readkey ... ok [INFO] [stdout] test tests::std_library::console::events::std_console_read_event_timeout_resize_updates_screen ... ok [INFO] [stdout] test tests::std_library::console::crt::std_console_crt_wind_min_max_follow_window ... ok [INFO] [stdout] test tests::std_library::console::crt::std_console_crt_window_cursor_and_clear ... ok [INFO] [stdout] test tests::std_library::concurrency::go_wait_supports_callable_values ... ok [INFO] [stdout] test tests::std_library::concurrency::waiting_twice_on_the_same_task_reports_a_runtime_error ... ok [INFO] [stdout] test tests::std_library::console::input::std_console_read_and_readln_share_line_buffer ... ok [INFO] [stdout] test tests::std_library::conv::std_str_to_int_invalid_runtime ... ok [INFO] [stdout] test tests::std_library::console::runtime_errors::std_console_window_invalid_runtime ... ok [INFO] [stdout] test tests::std_library::conv::std_conv ... ok [INFO] [stdout] test tests::std_library::console::input::std_readln_write ... ok [INFO] [stdout] test tests::std_library::console::key_events::std_console_read_key_event_character_and_fifo ... ok [INFO] [stdout] test tests::std_library::conv::std_str_to_real_accepts_trimmed_scientific_pascal_text ... ok [INFO] [stdout] test tests::std_library::console::runtime_errors::std_console_sound_non_positive_runtime ... ok [INFO] [stdout] test tests::std_library::console::events::std_console_read_event_timeout_returns_some_when_event_queued ... ok [INFO] [stdout] test tests::std_library::console::runtime_errors::std_console_text_mode_negative_runtime ... ok [INFO] [stdout] test tests::std_library::console::runtime_errors::std_console_textcolor_invalid_runtime ... ok [INFO] [stdout] test tests::std_library::console::key_events::std_console_read_key_event ... ok [INFO] [stdout] test tests::std_library::dict::indexing::dict_index_get ... ok [INFO] [stdout] test tests::std_library::conv::std_str_to_real_invalid_runtime ... ok [INFO] [stdout] test tests::std_library::dict::indexing::dict_index_set_existing_key ... ok [INFO] [stdout] test tests::std_library::conv::std_str_to_real_rejects_missing_fraction_digits ... ok [INFO] [stdout] test tests::std_library::conv::std_str_to_real_rejects_non_pascal_real_text ... ok [INFO] [stdout] test tests::std_library::dict::indexing::dict_key_not_found ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_filter_empty_dict ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_filter_none_pass ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_contains_key ... ok [INFO] [stdout] test tests::std_library::dict::integration::dict_in_function_param_and_return ... ok [INFO] [stdout] test tests::std_library::dict::basics::dict_single_entry ... ok [INFO] [stdout] test tests::std_library::console::runtime_errors::std_console_set_text_attr_invalid_runtime ... ok [INFO] [stdout] test tests::std_library::console::runtime_errors::std_console_gotoxy_invalid_runtime ... ok [INFO] [stdout] test tests::std_library::console::runtime_errors::std_console_delay_negative_runtime ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_filter_uses_key_in_predicate ... ok [INFO] [stdout] test tests::std_library::dict::indexing::dict_index_set_new_key ... ok [INFO] [stdout] test tests::std_library::dict::basics::dict_empty ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_filter_wrong_arg_count_is_compile_error ... ok [INFO] [stdout] test tests::std_library::math::std_log_non_positive_runtime ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_map_wrong_arg_count_is_compile_error ... ok [INFO] [stdout] test tests::std_library::math::std_trunc_rejects_negative_non_finite_results ... ok [INFO] [stdout] test tests::std_library::math::std_sqrt_negative_runtime ... ok [INFO] [stdout] test tests::std_library::math::std_math_negative_rounding_variants ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_keys ... ok [INFO] [stdout] test tests::std_library::math::std_floor_rejects_non_finite_results ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_map_empty_dict_returns_empty ... ok [INFO] [stdout] test tests::std_library::str_ops::std_substring_out_of_range_runtime ... ok [INFO] [stdout] test tests::std_library::str_ops::string_index_empty_string_runtime_error ... ok [INFO] [stdout] test tests::std_library::dict::basics::dict_literal ... ok [INFO] [stdout] test tests::std_library::str_ops::std_is_numeric_rejects_malformed_exponent_and_underscores ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_filter_all_pass ... ok [INFO] [stdout] test tests::std_library::str_ops::string_index_first_char ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_map_doubles_values ... ok [INFO] [stdout] test tests::std_library::str_ops::string_index_last_char ... ok [INFO] [stdout] test tests::std_library::str_ops::string_index_non_integer_is_sema_error ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_map_preserves_keys ... ok [INFO] [stdout] test tests::std_library::str_ops::string_index_out_of_bounds_runtime_error ... ok [INFO] [stdout] test tests::std_library::str_ops::std_str_ops ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_filter_keeps_matching_entries ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_length ... ok [INFO] [stdout] test tests::std_library::str_ops::string_index_loop_over_chars ... ok [INFO] [stdout] test tests::std_library::str_ops::std_split_empty_delimiter_runtime ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_host_register_on_exit_lowers_to_intrinsic ... ok [INFO] [stdout] test tests::std_library::dict::basics::dict_integer_keys ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_open_rejects_second_session ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_remove ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_host_register_on_idle_lowers_to_intrinsic ... ok [INFO] [stdout] test tests::std_library::dict::std_ops::std_dict_values ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_host_poll_next_none_without_events ... ok [INFO] [stdout] test tests::std_library::str_ops::std_is_numeric_follows_pascal_number_syntax ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_host_dispatch_redraw_not_pending_returns_zero ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_open_rejects_wrong_argument_count ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_host_process_next_returns_zero_without_events ... ok [INFO] [stdout] test tests::std_library::math::std_math_pi_sqrt_abs_min_max ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_lowers_to_intrinsic ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_redraw_pending_is_consumed_once ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_open_close_and_reopen_succeeds ... ok [INFO] [stdout] test tests::std_library::str_ops::std_is_numeric_accepts_trimmed_signed_underscored_numbers ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_read_event_timeout_returns_none_without_events ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_auto_close_rejects_second_close ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_does_not_invoke_on_idle_when_interval_is_zero ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_poll_event_skips_unsupported_console_events ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_poll_event_maps_resize_and_key_events ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_host_request_quit_from_on_paint_stops_host_run_loop ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_host_register_on_paint_and_dispatch_redraw_runs_handler ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_use_after_close_reports_runtime_error ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_invokes_on_idle_after_timeout ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_reports_host_shutdown_when_concurrent_task_failure_requests_vm_shutdown ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_negative_idle_interval_disables_idle_callbacks ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_reports_host_and_user_stop_when_close_and_quit_both_happen ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_requires_registered_on_paint_handler ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_read_event_timeout_skips_unsupported_events_before_resize ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_on_focus_lost_dispatches_event_and_quits ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_requests_initial_paint_invokes_on_exit_and_closes_app ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_application_configure_lowers_to_intrinsic ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_requires_on_paint_field ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_on_paste_dispatches_paste_event_and_quits ... ok [INFO] [stdout] test tests::type_aliases::multiple_type_block_declarations ... ok [INFO] [stdout] test tests::std_library::tui::std_tui_run_reports_host_stop_when_close_happens_inside_handler ... ok [INFO] [stdout] test tests::type_aliases::type_alias_interchangeable_with_base_type ... ok [INFO] [stdout] test tests::type_aliases::type_alias_chain ... ok [INFO] [stdout] test tests::type_aliases::scalar_type_alias_string ... ok [INFO] [stdout] test tests::type_aliases::scalar_type_alias_integer ... ok [INFO] [stdout] test tests::type_aliases::type_alias_unknown_base_type ... ok [INFO] [stdout] test tests::writeln_semantics::writeln_multiple_args_single_captured_line ... ok [INFO] [stdout] test tests::type_aliases::type_alias_array ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_on_focus_gained_dispatches_event_and_quits ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_on_key_pressed_dispatches_key_event_and_quits ... ok [INFO] [stdout] test tests::type_aliases::callback_type_alias ... ok [INFO] [stdout] test tests::writeln_semantics::writeln_three_values_concatenate ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_on_paste_receives_text_content ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_on_mouse_dispatches_mouse_event_and_quits ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_on_mouse_receives_correct_coordinates ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_run_uses_bundle_handlers ... ok [INFO] [stdout] test tests::writeln_semantics::writeln_no_args_emits_blank_line ... ok [INFO] [stdout] test tests::type_aliases::type_alias_record ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_diagnostics-7b2eb0a25fa94615) [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_on_resize_dispatches_and_triggers_repaint ... ok [INFO] [stdout] test tests::std_library::tui_configure::std_tui_configure_replaces_previous_optional_handlers_with_defaults ... ok [INFO] [stdout] test tests::type_aliases::type_alias_used_in_function_param ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 877 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.68s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test tests::diagnostic_code_formats_as_fxxxx ... ok [INFO] [stdout] test codes::tests::allocated_codes_are_unique ... ok [INFO] [stdout] test tests::render_warning_uses_warning_label ... ok [INFO] [stdout] test tests::source_location_from_tuple ... ok [INFO] [stdout] test tests::source_span_location_returns_line_and_column ... ok [INFO] [stdout] test tests::render_with_help_line ... ok [INFO] [stdout] test tests::source_span_location_preserves_source_id ... ok [INFO] [stdout] test tests::render_without_help_line ... ok [INFO] [stdout] test tests::diagnostic_code_rejects_out_of_range_values - should panic ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_lexer-589c6adbb8341867) [INFO] [stdout] [INFO] [stdout] running 159 tests [INFO] [stdout] test tests::comments::brace_comment_empty ... ok [INFO] [stdout] test tests::comments::all_comment_types ... ok [INFO] [stdout] test tests::comments::adjacent_comments ... ok [INFO] [stdout] test tests::comments::brace_comment ... ok [INFO] [stdout] test tests::comments::brace_comment_multi_line ... ok [INFO] [stdout] test tests::comments::brace_inside_paren_comment ... ok [INFO] [stdout] test tests::comments::comment_between_tokens ... ok [INFO] [stdout] test tests::comments::brace_inside_line_comment ... ok [INFO] [stdout] test tests::comments::brace_compiler_directive_is_lex_error_not_comment ... ok [INFO] [stdout] test tests::comments::line_comment ... ok [INFO] [stdout] test tests::comments::line_comment_at_eof ... ok [INFO] [stdout] test tests::comments::line_comment_inside_paren_comment ... ok [INFO] [stdout] test tests::comments::paren_comment_does_not_eat_lparen ... ok [INFO] [stdout] test tests::comments::paren_comment_does_not_nest ... ok [INFO] [stdout] test tests::comments::paren_comment_inside_brace_comment ... ok [INFO] [stdout] test tests::comments::paren_comment_multi_line ... ok [INFO] [stdout] test tests::comments::paren_comment_with_star ... ok [INFO] [stdout] test tests::comments::slash_not_comment ... ok [INFO] [stdout] test tests::directives::brace_comment_before_closing_directive_does_not_swallow_directive ... ok [INFO] [stdout] test tests::directives::directive_between_code_produces_error_and_preserves_neighbors ... ok [INFO] [stdout] test tests::directives::directive_error_skips_sequence_and_keeps_following_tokens ... ok [INFO] [stdout] test tests::directives::directive_sequence_is_error_and_emits_no_token ... ok [INFO] [stdout] test tests::directives::empty_directive_braces_is_error ... ok [INFO] [stdout] test tests::comments::line_comment_crlf ... ok [INFO] [stdout] test tests::directives::unterminated_directive_start_uses_unterminated_brace_diagnostic ... ok [INFO] [stdout] test tests::comments::comment_preserves_surrounding_tokens ... ok [INFO] [stdout] test tests::errors::comments::unterminated_brace_comment ... ok [INFO] [stdout] test tests::errors::comments::unterminated_paren_comment ... ok [INFO] [stdout] test tests::errors::numeric::dollar_alone ... ok [INFO] [stdout] test tests::errors::strings::char_code_error_has_explicit_help ... ok [INFO] [stdout] test tests::errors::strings::char_code_very_large ... ok [INFO] [stdout] test tests::errors::numeric::integer_overflow ... ok [INFO] [stdout] test tests::errors::strings::char_code_out_of_range ... ok [INFO] [stdout] test tests::errors::numeric::invalid_numeric_exponent_reports_explicit_help ... ok [INFO] [stdout] test tests::errors::numeric::dollar_non_hex ... ok [INFO] [stdout] test tests::errors::strings::char_code_decimal_overflow_u32 ... ok [INFO] [stdout] test tests::errors::numeric::hex_overflow ... ok [INFO] [stdout] test tests::errors::strings::hash_non_digit ... ok [INFO] [stdout] test tests::errors::strings::unterminated_string_has_correct_code ... ok [INFO] [stdout] test tests::comments::line_comment_inside_brace_comment ... ok [INFO] [stdout] test tests::errors::strings::unterminated_string_with_escape ... ok [INFO] [stdout] test tests::comments::line_comment_empty ... ok [INFO] [stdout] test tests::errors::unknown_tokens::error_messages_have_hints ... ok [INFO] [stdout] test tests::errors::unknown_tokens::error_spans_are_set ... ok [INFO] [stdout] test tests::errors::unknown_tokens::error_on_second_line ... ok [INFO] [stdout] test tests::errors::strings::unterminated_string ... ok [INFO] [stdout] test tests::identifiers::long_identifier ... ok [INFO] [stdout] test tests::errors::unknown_tokens::multiple_unknown_chars ... ok [INFO] [stdout] test tests::errors::strings::hash_alone ... ok [INFO] [stdout] test tests::comments::brace_does_not_nest ... ok [INFO] [stdout] test tests::errors::unknown_tokens::unknown_backtick ... ok [INFO] [stdout] test tests::errors::unknown_tokens::unknown_tilde ... ok [INFO] [stdout] test tests::identifiers::adjacent_identifiers ... ok [INFO] [stdout] test tests::errors::unknown_tokens::unknown_at ... ok [INFO] [stdout] test tests::errors::unknown_tokens::error_then_valid_token ... ok [INFO] [stdout] test tests::identifiers::identifier_preserves_case ... ok [INFO] [stdout] test tests::identifiers::simple_identifiers ... ok [INFO] [stdout] test tests::identifiers::all_caps ... ok [INFO] [stdout] test tests::comments::paren_comment_empty ... ok [INFO] [stdout] test tests::errors::unknown_tokens::unexpected_char_has_correct_code ... ok [INFO] [stdout] test tests::comments::paren_comment ... ok [INFO] [stdout] test tests::identifiers::single_character ... ok [INFO] [stdout] test tests::identifiers::underscore_start ... ok [INFO] [stdout] test tests::identifiers::with_digits ... ok [INFO] [stdout] test tests::integration::comments::mutable_var_with_comments ... ok [INFO] [stdout] test tests::integration::control_flow::case_statement ... ok [INFO] [stdout] test tests::integration::control_flow::for_loop ... ok [INFO] [stdout] test tests::integration::control_flow::if_then_else ... ok [INFO] [stdout] test tests::integration::declarations::record_type_and_construction ... ok [INFO] [stdout] test tests::integration::programs::function_declaration ... ok [INFO] [stdout] test tests::keywords::case_insensitive_lowercase ... ok [INFO] [stdout] test tests::integration::programs::hello_world_program ... ok [INFO] [stdout] test tests::keywords::case_insensitive_mixed ... ok [INFO] [stdout] test tests::keywords::case_insensitive_uppercase ... ok [INFO] [stdout] test tests::keywords::keyword_as_part_of_longer_word ... ok [INFO] [stdout] test tests::keywords::keyword_prefix_is_identifier ... ok [INFO] [stdout] test tests::keywords::forward_is_not_a_keyword ... ok [INFO] [stdout] test tests::keywords::keywords_surrounded_by_symbols ... ok [INFO] [stdout] test tests::numbers::dot_digit_is_not_real ... ok [INFO] [stdout] test tests::numbers::hex_max_i64 ... ok [INFO] [stdout] test tests::numbers::hex_simple ... ok [INFO] [stdout] test tests::numbers::hex_single_digit ... ok [INFO] [stdout] test tests::numbers::hex_underscores ... ok [INFO] [stdout] test tests::numbers::hex_lowercase ... ok [INFO] [stdout] test tests::numbers::integer_max ... ok [INFO] [stdout] test tests::numbers::integer_simple ... ok [INFO] [stdout] test tests::numbers::integer_negative_is_two_tokens ... ok [INFO] [stdout] test tests::numbers::integer_then_dot ... ok [INFO] [stdout] test tests::numbers::integer_underscores ... ok [INFO] [stdout] test tests::numbers::integer_dot_no_digit_is_not_real ... ok [INFO] [stdout] test tests::numbers::integer_zero ... ok [INFO] [stdout] test tests::numbers::multiple_numbers ... ok [INFO] [stdout] test tests::numbers::leading_zeros_integer ... ok [INFO] [stdout] test tests::numbers::real_simple ... ok [INFO] [stdout] test tests::numbers::range_with_spaces ... ok [INFO] [stdout] test tests::numbers::real_negative_is_two_tokens ... ok [INFO] [stdout] test tests::numbers::real_with_underscores ... ok [INFO] [stdout] test tests::numbers::real_then_dot ... ok [INFO] [stdout] test tests::numbers::scientific_negative_exponent_only ... ok [INFO] [stdout] test tests::numbers::scientific_notation ... ok [INFO] [stdout] test tests::numbers::scientific_uppercase_e ... ok [INFO] [stdout] test tests::numbers::range_not_real ... ok [INFO] [stdout] test tests::numbers::underscore_in_hex_multiple_groups ... ok [INFO] [stdout] test tests::numbers::scientific_with_sign ... ok [INFO] [stdout] test tests::numbers::scientific_zero_exponent ... ok [INFO] [stdout] test tests::numbers::trailing_underscore_not_consumed ... ok [INFO] [stdout] test tests::strings::char_code_boundary_values ... ok [INFO] [stdout] test tests::source_id::lex_with_source_id_on_token_spans ... ok [INFO] [stdout] test tests::strings::char_code_max ... ok [INFO] [stdout] test tests::strings::char_code_letter ... ok [INFO] [stdout] test tests::strings::char_code_null ... ok [INFO] [stdout] test tests::strings::char_code_crlf ... ok [INFO] [stdout] test tests::strings::char_code_space ... ok [INFO] [stdout] test tests::source_id::lex_with_source_id_on_lexer_errors ... ok [INFO] [stdout] test tests::strings::char_code_between_strings ... ok [INFO] [stdout] test tests::strings::char_code_tab ... ok [INFO] [stdout] test tests::strings::char_code_then_string ... ok [INFO] [stdout] test tests::strings::double_apostrophe_at_end ... ok [INFO] [stdout] test tests::strings::empty_string ... ok [INFO] [stdout] test tests::strings::empty_string_between_char_codes ... ok [INFO] [stdout] test tests::strings::empty_string_with_char_code ... ok [INFO] [stdout] test tests::strings::escaped_apostrophe ... ok [INFO] [stdout] test tests::strings::multi_line ... ok [INFO] [stdout] test tests::strings::multi_line_crlf ... ok [INFO] [stdout] test tests::strings::simple_string ... ok [INFO] [stdout] test tests::strings::single_apostrophe_value ... ok [INFO] [stdout] test tests::strings::single_char_string ... ok [INFO] [stdout] test tests::strings::multiple_escapes ... ok [INFO] [stdout] test tests::strings::char_codes_only ... ok [INFO] [stdout] test tests::strings::string_then_char_code ... ok [INFO] [stdout] test tests::strings::string_with_char_codes ... ok [INFO] [stdout] test tests::strings::string_with_only_escaped_apostrophes ... ok [INFO] [stdout] test tests::strings::whitespace_breaks_concatenation ... ok [INFO] [stdout] test tests::symbols::arithmetic ... ok [INFO] [stdout] test tests::symbols::assignment_expression ... ok [INFO] [stdout] test tests::symbols::brackets ... ok [INFO] [stdout] test tests::symbols::brackets_with_content ... ok [INFO] [stdout] test tests::symbols::comparison_chain ... ok [INFO] [stdout] test tests::symbols::colon ... ok [INFO] [stdout] test tests::symbols::complex_expression ... ok [INFO] [stdout] test tests::symbols::all_multi_char_adjacent ... ok [INFO] [stdout] test tests::symbols::dot ... ok [INFO] [stdout] test tests::symbols::dot_dot ... ok [INFO] [stdout] test tests::symbols::dot_then_dot_with_space ... ok [INFO] [stdout] test tests::symbols::equal ... ok [INFO] [stdout] test tests::symbols::greater ... ok [INFO] [stdout] test tests::symbols::colon_then_equal_with_space ... ok [INFO] [stdout] test tests::symbols::comma ... ok [INFO] [stdout] test tests::symbols::less ... ok [INFO] [stdout] test tests::symbols::less_equal ... ok [INFO] [stdout] test tests::symbols::greater_equal ... ok [INFO] [stdout] test tests::symbols::colon_assign ... ok [INFO] [stdout] test tests::symbols::less_then_greater_with_space ... ok [INFO] [stdout] test tests::symbols::paren_not_comment ... ok [INFO] [stdout] test tests::symbols::semicolon ... ok [INFO] [stdout] test tests::symbols::parens ... ok [INFO] [stdout] test tests::symbols::not_equal ... ok [INFO] [stdout] test tests::strings::space_between_char_codes ... ok [INFO] [stdout] test tests::keywords::all_53_keywords ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_parser-95a871bc11bfe7db) [INFO] [stdout] [INFO] [stdout] test result: ok. 159 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 187 tests [INFO] [stdout] test tests::decl::program::minimal_program ... ok [INFO] [stdout] test tests::decl::program::program_with_const ... ok [INFO] [stdout] test tests::decl::program::program_with_mutable_var ... ok [INFO] [stdout] test tests::decl::program::program_with_uses_std_array ... ok [INFO] [stdout] test tests::decl::program::program_with_multiple_consts ... ok [INFO] [stdout] test tests::decl::program::program_with_uses ... ok [INFO] [stdout] test tests::decl::routines::mutable_param ... ok [INFO] [stdout] test tests::decl::routines::nested_function ... ok [INFO] [stdout] test tests::decl::routines::procedure_declaration ... ok [INFO] [stdout] test tests::decl::type_expr::procedure_type_expr ... ok [INFO] [stdout] test tests::decl::program::program_with_uses_std_array_lowercase_unit_keyword ... ok [INFO] [stdout] test tests::decl::type_expr::function_type_expr ... ok [INFO] [stdout] test tests::decl::program::program_with_var ... ok [INFO] [stdout] test tests::decl::routines::function_rejects_legacy_forward_token ... ok [INFO] [stdout] test tests::decl::routines::function_with_body ... ok [INFO] [stdout] test tests::decl::types::enum_data_multiple_fields ... ok [INFO] [stdout] test tests::decl::types::array_type ... ok [INFO] [stdout] test tests::decl::types::enum_type ... ok [INFO] [stdout] test tests::decl::types::enum_data_single_field ... ok [INFO] [stdout] test tests::decl::types::generic_enum_type_params_not_allowed ... ok [INFO] [stdout] test tests::decl::types::generic_type_alias_of_syntax_not_allowed ... ok [INFO] [stdout] test tests::decl::types::invalid_record_field_recovery_preserves_following_field ... ok [INFO] [stdout] test tests::decl::types::invalid_record_field_recovery_preserves_following_function_declaration ... ok [INFO] [stdout] test tests::decl::types::record_with_function_method ... ok [INFO] [stdout] test tests::decl::types::record_with_procedure_method ... ok [INFO] [stdout] test tests::decl::types::type_alias ... ok [INFO] [stdout] test tests::decl::unit::deeply_qualified_unit_name ... ok [INFO] [stdout] test tests::decl::unit::single_segment_unit_name ... ok [INFO] [stdout] test tests::decl::types::record_with_generic_function_method ... ok [INFO] [stdout] test tests::decl::unit::minimal_unit ... ok [INFO] [stdout] test tests::decl::types::record_with_multiple_methods ... ok [INFO] [stdout] test tests::decl::unit::unit_rejects_top_level_begin_block ... ok [INFO] [stdout] test tests::decl::types::enum_data_mixed_simple_and_data_variants ... ok [INFO] [stdout] test tests::decl::unit::unit_with_only_const_and_type_declarations ... ok [INFO] [stdout] test tests::decl::types::enum_with_values ... ok [INFO] [stdout] test tests::decl::unit::unit_name_leading_std_unit_keyword_segment ... ok [INFO] [stdout] test tests::decl::unit::unit_with_uses_and_declarations ... ok [INFO] [stdout] test tests::decl::unit::unit_with_invalid_uses_entry_still_parses_following_declaration ... ok [INFO] [stdout] test tests::decl::unit::unit_name_missing_segment_after_dot_keeps_placeholder_part ... ok [INFO] [stdout] test tests::decl::unit::unit_with_missing_uses_identifier_before_declaration_keeps_following_declaration ... ok [INFO] [stdout] test tests::decl::unit::unit_with_multiple_uses_comma_separated ... ok [INFO] [stdout] test tests::decl::types::enum_data_fieldless_has_no_backing_value ... ok [INFO] [stdout] test tests::decl::visibility::default_visibility_is_public ... ok [INFO] [stdout] test tests::decl::visibility::explicit_public_function ... ok [INFO] [stdout] test tests::decl::visibility::private_const ... ok [INFO] [stdout] test tests::decl::visibility::private_function ... ok [INFO] [stdout] test tests::decl::visibility::private_procedure ... ok [INFO] [stdout] test tests::decl::visibility::private_var ... ok [INFO] [stdout] test tests::decl::visibility::private_mutable_var ... ok [INFO] [stdout] test tests::decl::visibility::private_type ... ok [INFO] [stdout] test tests::decl::visibility::visibility_applies_per_block ... ok [INFO] [stdout] test tests::decl::visibility::private_in_program_is_rejected ... ok [INFO] [stdout] test tests::errors::empty_body_allowed ... ok [INFO] [stdout] test tests::decl::visibility::program_declarations_default_to_public ... ok [INFO] [stdout] test tests::decl::visibility::public_in_program_is_rejected ... ok [INFO] [stdout] test tests::errors::destructure_pattern_requires_binding_identifier ... ok [INFO] [stdout] test tests::errors::empty_uses_entry_before_valid_unit_recovers_next_entry ... ok [INFO] [stdout] test tests::errors::missing_begin ... ok [INFO] [stdout] test tests::errors::missing_closing_paren ... ok [INFO] [stdout] test tests::errors::invalid_mutable_statement_recovery_keeps_following_statement ... ok [INFO] [stdout] test tests::errors::invalid_mutable_statement_reports_statement_start_and_recovers ... ok [INFO] [stdout] test tests::errors::missing_colon_assign ... ok [INFO] [stdout] test tests::errors::missing_end ... ok [INFO] [stdout] test tests::errors::missing_do_in_for ... ok [INFO] [stdout] test tests::errors::missing_do_in_while ... ok [INFO] [stdout] test tests::decl::types::record_type ... ok [INFO] [stdout] test tests::errors::missing_semicolon_after_program ... ok [INFO] [stdout] test tests::errors::missing_program_keyword ... ok [INFO] [stdout] test tests::decl::types::enum_member_non_integer_value_uses_parser_code ... ok [INFO] [stdout] test tests::errors::missing_expression_after_return ... ok [INFO] [stdout] test tests::errors::missing_then ... ok [INFO] [stdout] test tests::errors::missing_until ... ok [INFO] [stdout] test tests::errors::missing_uses_identifier_before_begin_keeps_program_body ... ok [INFO] [stdout] test tests::errors::missing_uses_identifier_before_declaration_keeps_following_declaration ... ok [INFO] [stdout] test tests::errors::missing_uses_segment_after_dot_keeps_placeholder_part ... ok [INFO] [stdout] test tests::errors::repeat_empty_body_missing_until ... ok [INFO] [stdout] test tests::errors::missing_uses_identifier_keeps_non_empty_qualified_id ... ok [INFO] [stdout] test tests::errors::multiple_invalid_mutable_statements_recover_until_final_valid_statement ... ok [INFO] [stdout] test tests::errors::while_missing_condition ... ok [INFO] [stdout] test tests::expr::aggregates::empty_array ... ok [INFO] [stdout] test tests::errors::trailing_dot_real_literal_is_rejected ... ok [INFO] [stdout] test tests::expr::aggregates::record_literal ... ok [INFO] [stdout] test tests::expr::calls::call_expr ... ok [INFO] [stdout] test tests::expr::calls::qualified_call_expr_std_unit_keyword_after_dot ... ok [INFO] [stdout] test tests::expr::calls::call_no_args_expr ... ok [INFO] [stdout] test tests::expr::designators::chained_access ... ok [INFO] [stdout] test tests::expr::designators::field_access ... ok [INFO] [stdout] test tests::expr::designators::index_access ... ok [INFO] [stdout] test tests::expr::designators::simple_variable ... ok [INFO] [stdout] test tests::expr::operators::add ... ok [INFO] [stdout] test tests::expr::operators::and_op ... ok [INFO] [stdout] test tests::expr::operators::greater_equal ... ok [INFO] [stdout] test tests::expr::operators::greater_than ... ok [INFO] [stdout] test tests::expr::operators::int_div ... ok [INFO] [stdout] test tests::expr::operators::less_equal ... ok [INFO] [stdout] test tests::expr::operators::less_than ... ok [INFO] [stdout] test tests::expr::aggregates::array_with_elements ... ok [INFO] [stdout] test tests::expr::operators::modulo ... ok [INFO] [stdout] test tests::expr::calls::designator_expr_leading_std_unit_keyword ... ok [INFO] [stdout] test tests::expr::operators::equal ... ok [INFO] [stdout] test tests::errors::repeat_missing_condition ... ok [INFO] [stdout] test tests::expr::operators::multiply ... ok [INFO] [stdout] test tests::expr::operators::not_equal ... ok [INFO] [stdout] test tests::expr::operators::shl_op ... ok [INFO] [stdout] test tests::expr::operators::or_op ... ok [INFO] [stdout] test tests::expr::operators::subtract ... ok [INFO] [stdout] test tests::expr::operators::shr_op ... ok [INFO] [stdout] test tests::expr::operators::xor_op ... ok [INFO] [stdout] test tests::expr::precedence::left_associative_add ... ok [INFO] [stdout] test tests::expr::precedence::not_highest_precedence ... ok [INFO] [stdout] test tests::expr::precedence::comparison_lowest_precedence ... ok [INFO] [stdout] test tests::expr::precedence::try_has_unary_precedence ... ok [INFO] [stdout] test tests::expr::precedence::mul_before_add ... ok [INFO] [stdout] test tests::expr::precedence::parens_override_precedence ... ok [INFO] [stdout] test tests::expr::primitives::bool_false ... ok [INFO] [stdout] test tests::expr::primitives::bool_true ... ok [INFO] [stdout] test tests::expr::primitives::integer_literal ... ok [INFO] [stdout] test tests::expr::primitives::string_literal ... ok [INFO] [stdout] test tests::expr::primitives::double_negate ... ok [INFO] [stdout] test tests::expr::primitives::real_literal ... ok [INFO] [stdout] test tests::expr::primitives::unary_negate ... ok [INFO] [stdout] test tests::expr::primitives::unary_not ... ok [INFO] [stdout] test tests::integration::array_operations ... ok [INFO] [stdout] test tests::integration::hello_world ... ok [INFO] [stdout] test tests::errors::error_recovery_continues ... ok [INFO] [stdout] test tests::errors::errors_have_hints ... ok [INFO] [stdout] test tests::integration::fibonacci ... ok [INFO] [stdout] test tests::integration::nested_loops ... ok [INFO] [stdout] test tests::errors::expected_token_has_correct_code ... ok [INFO] [stdout] test tests::errors::invalid_record_field_start_recovers_without_hanging ... ok [INFO] [stdout] test tests::integration::nested_mutual_recursion_even_odd ... ok [INFO] [stdout] test tests::errors::leading_dot_real_literal_is_rejected ... ok [INFO] [stdout] test tests::expr::calls::qualified_call_expr ... ok [INFO] [stdout] test tests::expr::operators::divide ... ok [INFO] [stdout] test tests::integration::record_creation_and_access ... ok [INFO] [stdout] test tests::integration::full_program ... ok [INFO] [stdout] test tests::stmt::blocks::no_semi_before_end ... ok [INFO] [stdout] test tests::errors::expected_expression_has_correct_code ... ok [INFO] [stdout] test tests::stmt::calls::call_with_args ... ok [INFO] [stdout] test tests::stmt::calls::qualified_call ... ok [INFO] [stdout] test tests::stmt::assignments::field_assign ... ok [INFO] [stdout] test tests::stmt::assignments::indexed_assign ... ok [INFO] [stdout] test tests::stmt::concurrency::go_as_expression_in_var_decl ... ok [INFO] [stdout] test tests::stmt::calls::call_no_args ... ok [INFO] [stdout] test tests::stmt::blocks::multiple_statements ... ok [INFO] [stdout] test tests::integration::repeat_with_break ... ok [INFO] [stdout] test tests::stmt::assignments::simple_assign ... ok [INFO] [stdout] test tests::stmt::blocks::nested_block ... ok [INFO] [stdout] test tests::stmt::concurrency::go_expression_rejects_non_call_expression ... ok [INFO] [stdout] test tests::stmt::concurrency::go_statement_parses_call_expression ... ok [INFO] [stdout] test tests::stmt::concurrency::go_statement_parses_qualified_call_expression ... ok [INFO] [stdout] test tests::stmt::concurrency::go_statement_rejects_bare_designator ... ok [INFO] [stdout] test tests::stmt::concurrency::go_statement_rejects_non_call_expression ... ok [INFO] [stdout] test tests::stmt::concurrency::return_can_start_with_go_expression ... ok [INFO] [stdout] test tests::stmt::conditionals::case_stmt::case_basic ... ok [INFO] [stdout] test tests::stmt::conditionals::case_stmt::case_with_destructure_pattern ... ok [INFO] [stdout] test tests::stmt::conditionals::case_stmt::case_multiple_labels ... ok [INFO] [stdout] test tests::stmt::conditionals::case_stmt::case_with_else ... ok [INFO] [stdout] test tests::stmt::conditionals::case_stmt::case_with_range ... ok [INFO] [stdout] test tests::stmt::conditionals::if_errors::if_missing_then ... ok [INFO] [stdout] test tests::stmt::conditionals::if_errors::if_empty_then_branch ... ok [INFO] [stdout] test tests::stmt::conditionals::if_stmt::else_if_chain ... ok [INFO] [stdout] test tests::stmt::conditionals::if_stmt::deeply_chained_else_if ... ok [INFO] [stdout] test tests::stmt::flow::continue_stmt ... ok [INFO] [stdout] test tests::stmt::conditionals::if_stmt::nested_if_in_then_branch ... ok [INFO] [stdout] test tests::stmt::conditionals::if_stmt::if_then_else ... ok [INFO] [stdout] test tests::stmt::conditionals::if_stmt::if_then_else_with_blocks ... ok [INFO] [stdout] test tests::stmt::conditionals::case_stmt::case_with_guard_and_enum_pattern ... ok [INFO] [stdout] test tests::stmt::flow::panic_stmt ... ok [INFO] [stdout] test tests::stmt::flow::return_with_value ... ok [INFO] [stdout] test tests::stmt::conditionals::if_stmt::if_then_with_block ... ok [INFO] [stdout] test tests::stmt::flow::invalid_statement_start_uses_statement_start_code ... ok [INFO] [stdout] test tests::stmt::conditionals::if_errors::if_missing_condition ... ok [INFO] [stdout] test tests::stmt::flow::break_stmt ... ok [INFO] [stdout] test tests::stmt::flow::return_bare ... ok [INFO] [stdout] test tests::stmt::conditionals::if_stmt::if_then ... ok [INFO] [stdout] test tests::stmt::loops::for_downto ... ok [INFO] [stdout] test tests::stmt::var_defs::inline_mutable_var ... ok [INFO] [stdout] test tests::stmt::loops::repeat_until ... ok [INFO] [stdout] test tests::stmt::loops::while_loop ... ok [INFO] [stdout] test tests::stmt::loops::for_in ... ok [INFO] [stdout] test tests::stmt::loops::for_loop_invalid_direction_uses_direction_code ... ok [INFO] [stdout] test tests::stmt::loops::for_to ... ok [INFO] [stdout] test tests::stmt::var_defs::inline_var ... ok [INFO] [stdout] test tests::decl::types::generic_record_type_params_not_allowed ... ok [INFO] [stdout] test tests::decl::visibility::mixed_visibility_declarations ... ok [INFO] [stdout] test tests::decl::types::enum_variant_cannot_mix_fields_with_backing_value ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 187 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_project-b3c0db4258407a10) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test link::graph::tests::sorted_reachable_unit_keys_returns_stable_lexical_order ... ok [INFO] [stdout] test link::parse::tests::next_source_id_rejects_counts_that_do_not_fit_into_u32 ... ok [INFO] [stdout] test paths::tests::canonical_or_original_falls_back_to_absolute_path_for_missing_entries ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_sema-c0114d242859f70d) [INFO] [stdout] [INFO] [stdout] running 264 tests [INFO] [stdout] test tests::decl::const_can_reference_previous_const ... ok [INFO] [stdout] test tests::decl::const_initializer_cannot_read_variable ... ok [INFO] [stdout] test tests::decl::const_initializer_must_be_compile_time_known ... ok [INFO] [stdout] test tests::decl::const_type_mismatch ... ok [INFO] [stdout] test tests::decl::duplicate_variable ... ok [INFO] [stdout] test tests::decl::duplicate_variable_differs_only_by_case_rejected ... ok [INFO] [stdout] test tests::decl::const_valid ... ok [INFO] [stdout] test tests::decl::enum_data_construct_valid ... ok [INFO] [stdout] test tests::decl::enum_data_fieldless_construct_valid ... ok [INFO] [stdout] test tests::decl::enum_data_type_valid ... ok [INFO] [stdout] test tests::decl::enum_data_wrong_arg_type ... ok [INFO] [stdout] test tests::decl::enum_type_valid ... ok [INFO] [stdout] test tests::decl::enum_members_in_scope ... ok [INFO] [stdout] test tests::decl::function_missing_return_value ... ok [INFO] [stdout] test tests::decl::function_duplicate_definition_rejected ... ok [INFO] [stdout] test tests::decl::enum_data_mixed_valid ... ok [INFO] [stdout] test tests::decl::generic_function_comparable_constraint_allows_lt ... ok [INFO] [stdout] test tests::decl::generic_function_valid ... ok [INFO] [stdout] test tests::decl::enum_data_wrong_arg_count ... ok [INFO] [stdout] test tests::decl::function_valid ... ok [INFO] [stdout] test tests::decl::mutable_param ... ok [INFO] [stdout] test tests::decl::generic_function_numeric_constraint_allows_arithmetic ... ok [INFO] [stdout] test tests::decl::generic_function_constraint_violation_at_call_site ... ok [INFO] [stdout] test tests::decl::function_return_type_mismatch ... ok [INFO] [stdout] test tests::decl::generic_function_unconstrained_rejects_arithmetic ... ok [INFO] [stdout] test tests::decl::generic_function_reused_type_param_requires_same_concrete_type ... ok [INFO] [stdout] test tests::decl::generic_function_numeric_constraint_allows_negate ... ok [INFO] [stdout] test tests::decl::nested_function_scope ... ok [INFO] [stdout] test tests::decl::procedure_valid ... ok [INFO] [stdout] test tests::decl::generic_function_numeric_violation_at_call_site ... ok [INFO] [stdout] test tests::decl::mutable_var_valid ... ok [INFO] [stdout] test tests::decl::record_type_valid ... ok [INFO] [stdout] test tests::decl::record_literal_field_names_are_case_insensitive ... ok [INFO] [stdout] test tests::decl::type_alias_names_are_case_insensitive ... ok [INFO] [stdout] test tests::decl::var_valid ... ok [INFO] [stdout] test tests::decl::variable_names_are_case_insensitive ... ok [INFO] [stdout] test tests::decl::var_type_mismatch ... ok [INFO] [stdout] test tests::decl::procedure_return_value_error ... ok [INFO] [stdout] test tests::decl::unknown_type ... ok [INFO] [stdout] test tests::expr::add_integers ... ok [INFO] [stdout] test tests::decl::value_name_cannot_be_used_as_type ... ok [INFO] [stdout] test tests::decl::type_alias_to_unknown_type ... ok [INFO] [stdout] test tests::expr::add_reals ... ok [INFO] [stdout] test tests::expr::add_strings ... ok [INFO] [stdout] test tests::decl::type_alias_scalar_valid ... ok [INFO] [stdout] test tests::expr::analyze_with_types_records_expression_types ... ok [INFO] [stdout] test tests::expr::add_type_error ... ok [INFO] [stdout] test tests::expr::and_booleans ... ok [INFO] [stdout] test tests::expr::and_integers_bitwise ... ok [INFO] [stdout] test tests::expr::array_literal_valid ... ok [INFO] [stdout] test tests::decl::enum_data_case_destructure_valid ... ok [INFO] [stdout] test tests::expr::and_with_string_error ... ok [INFO] [stdout] test tests::decl::record_method_valid ... ok [INFO] [stdout] test tests::expr::array_literal_mixed_types ... ok [INFO] [stdout] test tests::expr::call_function ... ok [INFO] [stdout] test tests::expr::compare_incompatible_types_error ... ok [INFO] [stdout] test tests::expr::compare_integers ... ok [INFO] [stdout] test tests::expr::equality_same_type ... ok [INFO] [stdout] test tests::expr::call_wrong_arg_count ... ok [INFO] [stdout] test tests::expr::int_div_valid ... ok [INFO] [stdout] test tests::expr::int_div_with_real_error ... ok [INFO] [stdout] test tests::expr::equality_type_mismatch ... ok [INFO] [stdout] test tests::expr::empty_array ... ok [INFO] [stdout] test tests::expr::compare_strings ... ok [INFO] [stdout] test tests::expr::integer_literal ... ok [INFO] [stdout] test tests::decl::record_method_names_are_case_insensitive ... ok [INFO] [stdout] test tests::expr::mod_with_real_error ... ok [INFO] [stdout] test tests::expr::negate_integer ... ok [INFO] [stdout] test tests::expr::negate_non_numeric_error ... ok [INFO] [stdout] test tests::expr::mod_valid ... ok [INFO] [stdout] test tests::expr::bool_literal ... ok [INFO] [stdout] test tests::expr::mixed_numeric ... ok [INFO] [stdout] test tests::expr::not_boolean ... ok [INFO] [stdout] test tests::expr::shl_with_real_error ... ok [INFO] [stdout] test tests::expr::negate_real ... ok [INFO] [stdout] test tests::expr::shr_with_real_error ... ok [INFO] [stdout] test tests::expr::single_character_string_literal_defaults_to_string ... ok [INFO] [stdout] test tests::expr::string_literal ... ok [INFO] [stdout] test tests::expr::undefined_variable ... ok [INFO] [stdout] test tests::expr::xor_booleans ... ok [INFO] [stdout] test tests::expr::xor_integers_bitwise ... ok [INFO] [stdout] test tests::decl::generic_procedure_valid ... ok [INFO] [stdout] test tests::expr::not_integer_bitwise ... ok [INFO] [stdout] test tests::expr::shl_valid ... ok [INFO] [stdout] test tests::expr::shr_valid ... ok [INFO] [stdout] test tests::expr::not_real_error ... ok [INFO] [stdout] test tests::expr::not_string_error ... ok [INFO] [stdout] test tests::expr::real_literal ... ok [INFO] [stdout] test tests::expr::or_booleans ... ok [INFO] [stdout] test tests::expr::xor_with_string_error ... ok [INFO] [stdout] test tests::expr::or_with_string_error ... ok [INFO] [stdout] test tests::generic_methods::generic_function_method_on_plain_record ... ok [INFO] [stdout] test tests::generic_methods::generic_method_body_can_declare_local_of_generic_type_and_return_direct_call ... ok [INFO] [stdout] test tests::generic_methods::generic_method_body_returning_local_generic_variable_reproducer ... ok [INFO] [stdout] test tests::generic_methods::generic_method_called_with_inferred_type ... ok [INFO] [stdout] test tests::generic_methods::generic_method_constraint_violation_at_call_site ... ok [INFO] [stdout] test tests::generic_methods::generic_method_missing_self_param_is_rejected ... ok [INFO] [stdout] test tests::generic_methods::generic_method_multiple_type_params ... ok [INFO] [stdout] test tests::generic_methods::generic_method_type_param_shadows_outer_name_is_ok ... ok [INFO] [stdout] test tests::generic_methods::generic_method_with_no_type_params_still_valid ... ok [INFO] [stdout] test tests::generic_methods::generic_method_return_type_is_generic_param ... ok [INFO] [stdout] test tests::generic_methods::generic_method_unknown_constraint_is_rejected ... ok [INFO] [stdout] test tests::generic_methods::two_records_each_with_independent_generic_methods ... ok [INFO] [stdout] test tests::generic_methods::generic_method_with_numeric_constraint ... ok [INFO] [stdout] test tests::integration::programs::fibonacci ... ok [INFO] [stdout] test tests::generic_methods::generic_method_with_comparable_constraint ... ok [INFO] [stdout] test tests::generic_methods::generic_procedure_method_on_plain_record ... ok [INFO] [stdout] test tests::integration::programs::nested_loops_with_break_continue ... ok [INFO] [stdout] test tests::integration::diagnostics::duplicate_declaration_has_correct_code ... ok [INFO] [stdout] test tests::integration::programs::nested_mutual_recursion_even_odd ... ok [INFO] [stdout] test tests::integration::programs::calculator ... ok [INFO] [stdout] test tests::integration::short_names::ambiguous_length_error ... ok [INFO] [stdout] test tests::integration::programs::immutable_assignment_error ... ok [INFO] [stdout] test tests::integration::short_names::fq_std_after_single_uses_disambiguates_length ... ok [INFO] [stdout] test tests::integration::programs::record_usage ... ok [INFO] [stdout] test tests::integration::programs::mixed_errors ... ok [INFO] [stdout] test tests::integration::short_names::no_ambiguity_single_unit ... ok [INFO] [stdout] test tests::integration::short_names::ambiguous_contains_error ... ok [INFO] [stdout] test tests::integration::short_names::ambiguous_fallback_to_qualified ... ok [INFO] [stdout] test tests::integration::short_names::short_name_becomes_ambiguous_after_fq_std_loads_second_unit ... ok [INFO] [stdout] test tests::integration::std_units::builtins::std_dict_merge_requires_dict_rhs ... ok [INFO] [stdout] test tests::integration::std_units::builtins::std_dict_merge_requires_matching_rhs_dict_type ... ok [INFO] [stdout] test tests::integration::std_units::builtins::std_array_find_requires_boolean_callback_result ... ok [INFO] [stdout] test tests::integration::std_units::builtins::std_array_push_requires_mutable_array ... ok [INFO] [stdout] test tests::integration::short_names::short_name_conv_int_to_str ... ok [INFO] [stdout] test tests::integration::short_names::short_name_math_sqrt ... ok [INFO] [stdout] test tests::integration::std_units::builtins::std_conv_str_to_int_type_mismatch ... ok [INFO] [stdout] test tests::integration::std_units::builtins::std_dict_get_requires_matching_key_type ... ok [INFO] [stdout] test tests::integration::short_names::short_name_math_pi_const ... ok [INFO] [stdout] test tests::integration::short_names::short_name_mixed_with_qualified ... ok [INFO] [stdout] test tests::integration::short_names::short_name_console_key_event_type ... ok [INFO] [stdout] test tests::integration::short_names::short_name_console_keypressed ... ok [INFO] [stdout] test tests::integration::short_names::short_name_console_writeln ... ok [INFO] [stdout] test tests::integration::std_units::builtins::std_array_for_each_requires_procedure_callback ... ok [INFO] [stdout] test tests::integration::std_units::builtins::std_math_sqrt_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::diagnostics::type_mismatch_has_correct_code ... ok [INFO] [stdout] test tests::integration::std_units::console::hello_world ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_short_name_requires_uses ... ok [INFO] [stdout] test tests::integration::diagnostics::unknown_name_has_correct_code_location_help ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_crt_window_and_colors ... ok [INFO] [stdout] test tests::integration::short_names::short_name_console_crt_names_and_constants ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_fully_qualified_call_works_without_uses_clause ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_application_close_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::std_units::console::uses_std_console_case_insensitive ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_application_open_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_read_key_event_and_fields ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_read_key_event_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_key_event_unknown_field ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_read_key_event_wrong_arg_in_expr ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_fully_qualified_call_works_without_uses_clause ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_event_kind_unknown_member ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_read_readkey_keypressed ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_exit_reason_enum_is_available ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_application_run_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_application_surface_is_available ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_host_register_on_exit_typechecks ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_unified_event_api_and_session_calls ... ok [INFO] [stdout] test tests::integration::std_units::console::std_console_key_kind_unknown_member ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_host_dispatch_surface_typechecks ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_short_name_requires_uses ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_host_request_quit_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::std_units::tui_configure::std_tui_application_configure_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_read_event_timeout_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_host_run_loop_wrong_arg_count ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_size_unknown_field ... ok [INFO] [stdout] test tests::integration::std_units::tui::uses_std_tui_case_insensitive ... ok [INFO] [stdout] test tests::integration::std_units::units::uses_unknown_unit_rejected ... ok [INFO] [stdout] test tests::integration::std_units::units::uses_bare_std_reserved ... ok [INFO] [stdout] test tests::stmt::assignment::assign_mutable ... ok [INFO] [stdout] test tests::integration::std_units::units::uses_std_extra_segment_rejected ... ok [INFO] [stdout] test tests::stmt::assignment::assign_to_array_element_ok ... ok [INFO] [stdout] test tests::stmt::assignment::assign_immutable_error ... ok [INFO] [stdout] test tests::stmt::assignment::assign_undefined_error ... ok [INFO] [stdout] test tests::integration::std_units::tui_configure::std_tui_application_handlers_bundle_typechecks ... ok [INFO] [stdout] test tests::integration::std_units::units::parse_std_qualified_call_rejects_empty_segments ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_host_register_on_exit_requires_procedure_signature ... ok [INFO] [stdout] test tests::stmt::assignment::assign_type_mismatch ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_host_register_on_idle_requires_procedure_signature ... ok [INFO] [stdout] test tests::integration::std_units::tui_configure::std_tui_application_handlers_require_on_paint ... ok [INFO] [stdout] test tests::stmt::concurrency::go_accepts_procedure_calls_as_tasks ... ok [INFO] [stdout] test tests::stmt::concurrency::go_requires_a_call_expression ... ok [INFO] [stdout] test tests::stmt::concurrency::task_wait_all_requires_task_array ... ok [INFO] [stdout] test tests::stmt::concurrency::task_wait_uses_task_result_type ... ok [INFO] [stdout] test tests::stmt::concurrency::task_wait_reports_assignment_mismatch ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_host_register_on_idle_wrong_arg_count ... ok [INFO] [stdout] test tests::stmt::flow::case_data_enum_pattern_literal_must_match_field_type ... ok [INFO] [stdout] test tests::stmt::flow::case_option_rejects_result_patterns ... ok [INFO] [stdout] test tests::stmt::flow::case_ordinal_valid ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_dict_key_type_mismatch ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_dict_var_is_immutable ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_on_boolean_error ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_element_type_mismatch_real_for_integer_array ... ok [INFO] [stdout] test tests::stmt::flow::case_data_enum_rejects_foreign_nested_variant ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_dict_valid_integer_key ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_dict_valid_string_key ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_element_type_mismatch_boolean_for_string_array ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_element_type_mismatch_string_for_integer_array ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_non_array_error ... ok [INFO] [stdout] test tests::stmt::flow::case_data_enum_rejects_foreign_root_variant ... ok [INFO] [stdout] test tests::stmt::for_loops::for_non_ordinal_error ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_valid_real_array ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_assign_to_loop_var_in_nested_block ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_valid ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_valid_string_array ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_var_is_immutable ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_element_type_mismatch ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_on_real_error ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_on_string_error ... ok [INFO] [stdout] test tests::integration::std_units::tui_configure::std_tui_application_handlers_reject_wrong_optional_handler_type ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_dict_var_not_accessible_after_loop ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_valid_boolean_array ... ok [INFO] [stdout] test tests::stmt::for_loops::for_start_type_mismatch ... ok [INFO] [stdout] test tests::stmt::for_loops::for_var_is_immutable ... ok [INFO] [stdout] test tests::stmt::if_stmt::if_string_condition ... ok [INFO] [stdout] test tests::stmt::if_stmt::if_boolean_condition ... ok [INFO] [stdout] test tests::stmt::for_loops::for_valid ... ok [INFO] [stdout] test tests::stmt::if_stmt::if_else_if_chain_ok ... ok [INFO] [stdout] test tests::stmt::if_stmt::if_else_ok ... ok [INFO] [stdout] test tests::stmt::if_stmt::if_non_boolean_condition ... ok [INFO] [stdout] test tests::stmt::if_stmt::if_with_block_ok ... ok [INFO] [stdout] test tests::stmt::jumps::break_in_nested_loop ... ok [INFO] [stdout] test tests::stmt::jumps::continue_in_function_body_not_in_loop ... ok [INFO] [stdout] test tests::stmt::jumps::break_inside_for_loop ... ok [INFO] [stdout] test tests::stmt::for_loops::for_in_var_not_accessible_after_loop ... ok [INFO] [stdout] test tests::stmt::jumps::break_inside_loop ... ok [INFO] [stdout] test tests::stmt::jumps::break_inside_repeat_loop ... ok [INFO] [stdout] test tests::stmt::jumps::break_outside_loop ... ok [INFO] [stdout] test tests::stmt::jumps::continue_in_if_outside_loop ... ok [INFO] [stdout] test tests::stmt::jumps::break_in_function_body_not_in_loop ... ok [INFO] [stdout] test tests::stmt::jumps::break_in_if_outside_loop ... ok [INFO] [stdout] test tests::stmt::jumps::break_in_nested_if_inside_loop ... ok [INFO] [stdout] test tests::stmt::jumps::continue_inside_for_loop ... ok [INFO] [stdout] test tests::stmt::jumps::continue_in_nested_if_inside_loop ... ok [INFO] [stdout] test tests::stmt::jumps::continue_inside_loop ... ok [INFO] [stdout] test tests::stmt::jumps::continue_inside_repeat_loop ... ok [INFO] [stdout] test tests::stmt::jumps::continue_outside_loop ... ok [INFO] [stdout] test tests::integration::std_units::tui::std_tui_host_register_on_exit_wrong_arg_count ... ok [INFO] [stdout] test tests::stmt::misc::inline_var ... ok [INFO] [stdout] test tests::stmt::misc::inline_mutable_var ... ok [INFO] [stdout] test tests::stmt::misc::panic_with_integer_error ... ok [INFO] [stdout] test tests::stmt::misc::panic_with_string ... ok [INFO] [stdout] test tests::stmt::if_stmt::if_comparison_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_condition_cannot_use_body_local ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_false_literal ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_non_boolean_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_string_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_boolean_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_not_expression_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_real_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_comparison_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_complex_boolean_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_char_condition ... ok [INFO] [stdout] test tests::stmt::for_loops::for_end_type_mismatch ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_false_literal ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_real_condition ... ok [INFO] [stdout] test tests::stmt::if_stmt::if_else_non_boolean_condition ... ok [INFO] [stdout] test tests::stmt::for_loops::for_var_not_accessible_after_loop ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_non_boolean_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_not_expression_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::while_string_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_boolean_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_comparison_condition ... ok [INFO] [stdout] test tests::stmt::while_repeat::repeat_complex_boolean_condition ... ok [INFO] [stdout] test tests::stmt::flow::case_result_multi_label_shared_binding_valid ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 264 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_std-bc6715deacf4aed8) [INFO] [stdout] [INFO] [stdout] running 69 tests [INFO] [stdout] test console::tests::console_cursor_big_forces_visible_block_cursor ... ok [INFO] [stdout] test console::tests::console_ins_line_on_top_row_shifts_rows_down_and_drops_bottom ... ok [INFO] [stdout] test console::tests::console_del_line_and_ins_line_inside_window ... ok [INFO] [stdout] test console::tests::console_del_line_on_bottom_row_clears_that_row_only ... ok [INFO] [stdout] test console::tests::console_no_sound_and_assign_crt_are_safe_state_operations ... ok [INFO] [stdout] test console::tests::console_packed_color_calls_reset_extended_color_path ... ok [INFO] [stdout] test console::tests::console_extended_colors_are_stored_in_screen_cells ... ok [INFO] [stdout] test console::tests::console_scrolls_inside_active_window ... ok [INFO] [stdout] test console::tests::console_sound_rejects_non_positive_frequencies ... ok [INFO] [stdout] test console::tests::console_session_commands_are_noops_without_writer ... ok [INFO] [stdout] test console::tests::console_set_text_attr_rejects_values_outside_byte_range ... ok [INFO] [stdout] test console::tests::console_resize_preserves_overlapping_cells ... ok [INFO] [stdout] test console::tests::console_text_attr_and_video_helpers ... ok [INFO] [stdout] test console::tests::console_text_attributes_and_clreol_use_current_colors ... ok [INFO] [stdout] test console::tests::console_text_mode_rejects_negative_values ... ok [INFO] [stdout] test console::tests::console_text_mode_tracks_last_mode_and_resets_cursor ... ok [INFO] [stdout] test console::tests::console_text_mode_resets_window_colors_and_screen_contents ... ok [INFO] [stdout] test console::tests::console_text_mode_resets_extended_color_path_to_packed_defaults ... ok [INFO] [stdout] test console::tests::console_clrscr_only_clears_active_window ... ok [INFO] [stdout] test console::tests::console_resize_clamps_screen_and_cursor_to_minimum_size ... ok [INFO] [stdout] test console::tests::console_wind_min_and_wind_max_follow_window_and_resize ... ok [INFO] [stdout] test console::tests::console_window_coordinates_are_relative ... ok [INFO] [stdout] test console::tests::key_input_extended_sequence ... ok [INFO] [stdout] test console::tests::key_input_key_pressed_ignores_unified_only_events ... ok [INFO] [stdout] test console::tests::key_input_key_pressed_sees_event_queue_without_char_queue ... ok [INFO] [stdout] test console::tests::key_input_live_key_event_is_visible_to_unified_event_api ... ok [INFO] [stdout] test console::tests::console_video_helpers_are_stable_at_brightness_edges ... ok [INFO] [stdout] test console::tests::key_input_event_pending_is_false_when_all_queues_are_empty ... ok [INFO] [stdout] test console::tests::key_input_live_queue_feeds_read_key_event ... ok [INFO] [stdout] test console::tests::key_input_live_mouse_event_maps_to_one_based_console_coordinates ... ok [INFO] [stdout] test console::tests::key_input_read_event_preserves_fifo_across_event_kinds ... ok [INFO] [stdout] test console::tests::text_input_readln_then_read ... ok [INFO] [stdout] test console::tests::console_resize_preserves_extended_color_cells ... ok [INFO] [stdout] test console::tests::key_input_read_key_does_not_consume_event_queue ... ok [INFO] [stdout] test console::tests::key_input_read_key_event_fifo ... ok [INFO] [stdout] test console::tests::key_input_read_event_returns_queued_resize ... ok [INFO] [stdout] test console::tests::key_input_test_queue_readkey_keypressed ... ok [INFO] [stdout] test console::tests::text_input_read_then_readln_shares_buffer ... ok [INFO] [stdout] test console::tests::console_session_commands_emit_control_sequences_when_writer_exists ... ok [INFO] [stdout] test intrinsics::vm_only_guard_tests::console_poll_event_is_vm_only ... ok [INFO] [stdout] test key_event::tests::key_kind_index_known_variants ... ok [INFO] [stdout] test intrinsics::vm_only_guard_tests::task_wait_is_vm_only ... ok [INFO] [stdout] test intrinsics::vm_only_guard_tests::str_length_still_dispatches ... ok [INFO] [stdout] test math::tests::abs_reports_overflow_for_min_integer ... ok [INFO] [stdout] test intrinsics::vm_only_guard_tests::array_map_is_vm_only ... ok [INFO] [stdout] test key_event::tests::key_kind_index_unknown_name_is_unknown_discriminant ... ok [INFO] [stdout] test console::tests::console_sound_writes_terminal_bell_when_writer_is_attached ... ok [INFO] [stdout] test math::tests::floor_ceil_and_trunc_keep_negative_finite_semantics ... ok [INFO] [stdout] test math::tests::floor_rejects_non_finite_values ... ok [INFO] [stdout] test math::tests::round_accepts_regular_finite_values ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fpas_vm-9f6149abf0f5af48) [INFO] [stdout] test numeric_text::tests::matches_pascal_numeric_text ... ok [INFO] [stdout] test tui::tests::tui_session_is_redraw_pending_peeks_without_clearing ... ok [INFO] [stdout] test tui::tests::tui_session_open_close_reopen_succeeds_without_terminal_writer ... ok [INFO] [stdout] test math::tests::trunc_rejects_out_of_range_values ... ok [INFO] [stdout] test numeric_text::tests::parses_pascal_real_with_sign_whitespace_and_exponent ... ok [INFO] [stdout] test tui::tests::tui_session_second_open_is_rejected ... ok [INFO] [stdout] test tui::tests::tui_session_read_event_maps_resize_and_updates_console_size ... ok [INFO] [stdout] test console::tests::console_redraw_emits_extended_colors_from_screen_buffer ... ok [INFO] [stdout] test numeric_text::tests::rejects_non_pascal_numeric_variants ... ok [INFO] [stdout] test tui::tests::tui_session_poll_event_skips_unsupported_events_until_key ... ok [INFO] [stdout] test tui_host::tests::coalesces_multiple_resizes_before_key ... ok [INFO] [stdout] test tui::tests::tui_session_request_redraw_is_consumed_once ... ok [INFO] [stdout] test tui_host::tests::flush_pending_resize_after_resize_only_stream ... ok [INFO] [stdout] test tui::tests::tui_session_size_requires_open_session ... ok [INFO] [stdout] test numeric_text::tests::parses_pascal_real_literals_only ... ok [INFO] [stdout] test numeric_text::tests::rejects_pascal_real_overflow_and_malformed_text ... ok [INFO] [stdout] test tui_host::tests::trace_hook_runs_on_resize_and_flush ... ok [INFO] [stdout] test tui_host::tests::resize_suggests_redraw_key_does_not ... ok [INFO] [stdout] test tui_host::tests::read_next_blocking_drains_resize_burst_then_key ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 69 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 154 tests [INFO] [stdout] test tests::concurrency::tasks_wait_all::wait_all_with_non_task_value_reports_operand_type_mismatch ... ok [INFO] [stdout] test tests::concurrency::tasks_spawn_wait_errors::waiting_twice_on_same_task_reports_runtime_error ... ok [INFO] [stdout] test tests::concurrency::spawn_path_errors::spawn_detached_task_wrong_arity_reports_runtime_error ... ok [INFO] [stdout] test tests::concurrency::tasks_spawn_wait_errors::spawn_task_with_wrong_arity_reports_runtime_error ... ok [INFO] [stdout] test tests::concurrency::wait_all_barrier_simple::wait_all_empty_array_completes_immediately ... ok [INFO] [stdout] test tests::concurrency::spawn_path_retained_capture_name::spawn_resolves_function_via_canonical_name_key ... ok [INFO] [stdout] test tests::concurrency::spawn_path_errors::spawn_task_rejects_non_function_callee ... ok [INFO] [stdout] test tests::concurrency::wait_all_errors::wait_all_rejects_integer_element ... ok [INFO] [stdout] test tests::concurrency::spawn_path_retained_capture_name::spawn_loads_closure_captures_onto_child_stack ... ok [INFO] [stdout] test tests::concurrency::tasks_wait_all::wait_all_keeps_task_result_available_for_wait ... ok [INFO] [stdout] test tests::concurrency::spawn_path_errors::spawn_task_rejects_missing_chunk_entry_for_function_name ... ok [INFO] [stdout] test tests::concurrency::spawn_path_retained_basic::retained_spawn_wait_prints_child_return_value ... ok [INFO] [stdout] test tests::concurrency::spawn_path_detached::detached_spawn_does_not_leave_task_handle_on_stack ... ok [INFO] [stdout] test tests::concurrency::wait_all_barrier_scheduling::wait_all_three_tasks_busy_children_then_barrier ... ok [INFO] [stdout] test tests::concurrency::wait_all_barrier_scheduling::main_yields_between_spawns_wait_all_still_completes ... ok [INFO] [stdout] test tests::concurrency::wait_all_barrier_simple::wait_all_two_tasks_barrier_then_wait_each_prints ... ok [INFO] [stdout] test tests::concurrency::yield_timeslice::main_task_timeslice_does_not_enqueue_task_zero ... ok [INFO] [stdout] test tests::concurrency::yield_main_and_edges::yield_only_chunk_without_spawn_runs_without_worker_pool ... ok [INFO] [stdout] test tests::concurrency::spawn_path_errors::spawn_task_with_missing_arguments_reports_internal_vm_error ... ok [INFO] [stdout] test tests::core::call_value::call_value_executes_function_value_and_returns_result ... ok [INFO] [stdout] test tests::core::call_value::call_value_resolves_function_name_case_insensitively ... ok [INFO] [stdout] test tests::concurrency::yield_spawn_child::main_emits_many_yields_before_wait_child_still_completes ... ok [INFO] [stdout] test tests::concurrency::yield_spawn_child::detached_spawn_child_yields_before_return ... ok [INFO] [stdout] test tests::concurrency::spawn_path_retained_basic::spawn_passes_two_arguments_and_child_returns_sum ... ok [INFO] [stdout] test tests::concurrency::yield_spawn_child::retained_spawn_child_yield_then_return_still_waits_correctly ... ok [INFO] [stdout] test tests::concurrency::yield_main_and_edges::spawn_with_yield_opcode_does_not_fail_runtime ... ok [INFO] [stdout] test tests::core::call_value::call_value_with_non_function_reports_operand_type_mismatch ... ok [INFO] [stdout] test tests::concurrency::wait_task::wait_succeeds_when_child_runs_long_enough_to_need_timeslice ... ok [INFO] [stdout] test tests::concurrency::yield_timeslice::two_wasteful_spawned_tasks_interleave_and_wait_all_completes ... ok [INFO] [stdout] test tests::concurrency::wait_all_errors::wait_all_on_array_when_child_panicked_reports_shutdown ... ok [INFO] [stdout] test tests::core::globals::get_global_on_missing_name_reports_runtime_error ... ok [INFO] [stdout] test tests::core::globals::set_global_then_get_global_is_case_insensitive ... ok [INFO] [stdout] test tests::concurrency::wait_task::wait_on_child_that_panics_surfaces_shutdown_to_waiter ... ok [INFO] [stdout] test tests::core::globals::set_global_then_get_global_round_trips_value ... ok [INFO] [stdout] test tests::core::illformed::jump_past_end_reports_internal_vm_error ... ok [INFO] [stdout] test tests::core::illformed::malformed_get_enclosing_reports_error_instead_of_silently_falling_back ... ok [INFO] [stdout] test tests::core::illformed::malformed_call_reports_error_instead_of_panicking ... ok [INFO] [stdout] test tests::core::index_and_records::array_index_get_with_negative_index_reports_bounds_error ... ok [INFO] [stdout] test tests::core::index_and_records::dict_index_set_adds_new_key_and_makes_it_readable ... ok [INFO] [stdout] test tests::core::illformed::malformed_field_set_missing_field_reports_error ... ok [INFO] [stdout] test tests::core::index_and_records::dict_index_get_missing_key_reports_runtime_error ... ok [INFO] [stdout] test tests::core::numeric::dynamic_negation_overflow_reports_error_instead_of_panicking ... ok [INFO] [stdout] test tests::core::index_and_records::update_record_with_unknown_field_reports_runtime_error ... ok [INFO] [stdout] test tests::core::numeric::dynamic_real_division_by_zero_reports_error ... ok [INFO] [stdout] test tests::core::numeric::integer_division_overflow_reports_error_instead_of_panicking ... ok [INFO] [stdout] test tests::core::illformed::malformed_make_array_reports_error_instead_of_panicking ... ok [INFO] [stdout] test tests::core::numeric::real_division_by_zero_reports_error_instead_of_returning_infinity ... ok [INFO] [stdout] test tests::core::numeric::integer_negation_overflow_reports_error_instead_of_panicking ... ok [INFO] [stdout] test tests::core::numeric::integer_modulo_overflow_reports_error_instead_of_panicking ... ok [INFO] [stdout] test tests::concurrency::wait_task::wait_then_second_spawn_and_wait_is_independent ... ok [INFO] [stdout] test tests::core::index_and_records::string_index_get_returns_character_value ... ok [INFO] [stdout] test tests::concurrency::yield_main_and_edges::single_spawned_task_yield_only_child_still_returns ... ok [INFO] [stdout] test tests::core::index_and_records::update_record_overrides_selected_field_and_keeps_others ... ok [INFO] [stdout] test tests::core::tui_configure_vm::tui_application_configure_clears_previous_optional_handlers_with_none_defaults ... ok [INFO] [stdout] test tests::core::tui_configure_vm::tui_application_configure_clamps_negative_idle_interval_to_zero ... ok [INFO] [stdout] test tests::core::tui_configure_vm::tui_application_configure_stores_bundle_handlers_and_interval ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_dispatch_redraw_when_not_pending_returns_zero ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_dispatches_on_focus_gained_handler_returns_tag_ten ... ok [INFO] [stdout] test tests::core::tui_configure_vm::tui_application_configure_rejects_missing_required_on_paint_field ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_dispatches_on_mouse_handler ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_focus_gained_without_handler_returns_tag_eleven ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_poll_next_coalesces_resize_before_key ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_mouse_without_handler_returns_tag_seven ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_focus_lost_without_handler_returns_tag_thirteen ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_resize_without_handler_returns_tag_four ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_paste_without_handler_returns_tag_nine ... ok [INFO] [stdout] test tests::core::tui_configure_vm::tui_application_configure_rejects_non_option_optional_handler_value ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_invoke_on_key_pressed_runs_registered_fp_function ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_dispatch_redraw_without_handler_clears_and_returns_six ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_dispatch_redraw_invokes_on_paint ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_exit_is_cleared_by_application_close ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_exit_stores_handler_in_shared_tui_state ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_focus_gained_is_cleared_by_application_close ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_dispatches_on_paste_handler_returns_tag_eight ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_focus_gained_rejects_wrong_arity ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_exit_rejects_non_function_value ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_focus_lost_is_cleared_by_application_close ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_exit_rejects_wrong_arity ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_focus_lost_stores_handler_in_shared_tui_state ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_idle_clamps_negative_interval_to_zero ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_idle_rejects_non_function_value ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_focus_gained_stores_handler_in_shared_tui_state ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_idle_stores_handler_and_interval ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_dispatches_on_focus_lost_handler_returns_tag_twelve ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_focus_lost_rejects_wrong_arity ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_idle_is_cleared_by_application_close ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_process_next_dispatches_on_resize_handler ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_idle_rejects_wrong_arity ... ok [INFO] [stdout] test tests::core::tui_run_vm::tui_application_run_does_not_invoke_on_idle_when_interval_is_zero ... ok [INFO] [stdout] test tests::core::tui_run_vm::tui_application_run_rejects_missing_on_paint_handler ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_run_loop_max_iterations_zero_skips_body ... ok [INFO] [stdout] test tests::core::tui_run_vm::tui_application_run_invokes_on_exit_and_clears_shared_state ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_mouse_is_cleared_by_application_close ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_mouse_rejects_non_function_value ... ok [INFO] [stdout] test tests::core::tui_run_vm::tui_application_run_invokes_on_idle_after_timeout ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_mouse_rejects_wrong_arity ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_run_loop_dispatches_paint_then_key_until_idle ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_mouse_stores_handler_in_shared_tui_state ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_paste_is_cleared_by_application_close ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_paste_rejects_non_function_value ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_paste_rejects_wrong_arity ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_register_on_paste_stores_handler_in_shared_tui_state ... ok [INFO] [stdout] test tests::core::tui_host_vm::tui_host_request_quit_ends_host_run_loop_after_idle_iteration ... ok [INFO] [stdout] test tests::core::tui_run_vm::tui_application_run_reports_host_shutdown_when_vm_shutdown_is_requested ... ok [INFO] [stdout] test tests::core::tui_run_vm::tui_application_run_reports_host_stop_when_close_happens_during_run ... ok [INFO] [stdout] test tests::core::tui_run_vm::tui_application_run_reports_host_and_user_stop_when_both_are_requested ... ok [INFO] [stdout] test tests::pool::worker_pool_policy::no_spawn_bytecode_means_zero_worker_pool ... ok [INFO] [stdout] test tests::pool::worker_pool_policy::pool_size_follows_clone_scan_identically ... ok [INFO] [stdout] test tests::pool::worker_pool_policy::spawn_detached_chunk_uses_same_pool_policy_as_retained_spawn ... ok [INFO] [stdout] test tests::pool::pool_worker_errors_shutdown::pool_loop_returns_immediately_when_shutdown_and_queue_empty ... ok [INFO] [stdout] test tests::pool::pool_worker_invariants::load_task_resets_timeslice_counter ... ok [INFO] [stdout] test tests::pool::pool_worker_invariants::pool_worker_starts_with_sentinel_no_task_loaded ... ok [INFO] [stdout] test tests::pool::pool_worker_invariants::save_task_and_load_task_round_trip_preserves_execution_state ... ok [INFO] [stdout] test tests::pool::pool_worker_invariants::main_worker_binds_task_zero_at_program_entry ... ok [INFO] [stdout] test tests::pool::pool_worker_errors_shutdown::pool_loop_runtime_panic_opcode_requests_shutdown ... ok [INFO] [stdout] test tests::pool::pool_worker_enqueue::pool_loop_drains_multiple_prequeued_tasks_before_blocking_again ... ok [INFO] [stdout] test tests::pool::worker_pool_policy::spawn_task_chunk_uses_parallelism_policy ... ok [INFO] [stdout] test tests::pool::worker_pool_policy::yield_only_chunk_does_not_start_worker_pool ... ok [INFO] [stdout] test tests::pool::worker_pool_policy::spawn_pool_size_is_at_least_one_even_on_single_cpu_host ... ok [INFO] [stdout] test tests::pool::worker_pool_condvar::pool_worker_style_wait_exits_immediately_if_shutdown_already_set ... ok [INFO] [stdout] test tests::pool::worker_pool_run::repeated_vm_runs_with_zero_pool_each_complete ... ok [INFO] [stdout] test tests::pool::pool_shutdown::pool_tasks_stop_without_side_effects_after_abort_flag ... ok [INFO] [stdout] test tests::pool::worker_pool_run::run_with_zero_pool_workers_completes_halt_only_program ... ok [INFO] [stdout] test tests::pool::pool_worker_errors_shutdown::pool_loop_task_with_ip_out_of_range_returns_error_and_shuts_down ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_happy::halt_only_program_without_pool_sets_shutdown ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_wait_paths::wait_non_task_operand_errors_without_shutdown_semantics ... ok [INFO] [stdout] test tests::runtime::shared_state_basic::poll_task_result_pending_for_unknown_id ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_panic::main_panic_returns_program_panic_without_hang_and_sets_shutdown ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_panic::detached_child_panic_propagates_from_pool_when_main_halts_first ... ok [INFO] [stdout] test tests::runtime::shared_state_basic::alloc_task_id_starts_at_one_and_increments ... ok [INFO] [stdout] test tests::runtime::shared_state_basic::enqueue_then_try_dequeue_returns_same_task ... ok [INFO] [stdout] test tests::runtime::shared_state_basic::poll_never_available_without_store ... ok [INFO] [stdout] test tests::runtime::shared_state_basic::ready_queue_is_lifo_under_single_threaded_push_pop ... ok [INFO] [stdout] test tests::runtime::shared_state_basic::store_poll_available_then_consumed ... ok [INFO] [stdout] test tests::runtime::shared_state_basic::try_dequeue_empty_returns_none ... ok [INFO] [stdout] test tests::runtime::shared_state_stress::concurrent_enqueues_all_dequeued ... ok [INFO] [stdout] test tests::runtime::shared_state_sync::request_shutdown_sets_flag_and_is_idempotent ... ok [INFO] [stdout] test tests::runtime::uses_spawn_tasks::uses_spawn_tasks_true_does_not_change_chunk_scan_semantics_after_clone ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_wait_paths::wait_twice_on_same_task_second_wait_is_invalid_task ... ok [INFO] [stdout] test tests::runtime::uses_spawn_tasks::vm_accepts_chunk_with_uses_spawn_tasks_false_without_running_spawn_path ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_happy::successful_spawn_program_sets_shutdown_before_returning ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_wait_paths::wait_all_empty_succeeds_and_sets_shutdown_with_spawn_pool ... ok [INFO] [stdout] test tests::pool::worker_pool_run::vm_run_with_spawn_chunk_returns_after_pool_workers_join ... ok [INFO] [stdout] test tests::pool::worker_pool_condvar::request_shutdown_unblocks_multiple_threads_waiting_on_task_available ... ok [INFO] [stdout] test tests::runtime::shared_state_stress::console_lock_serializes_concurrent_writes ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_panic::spawn_chunk_main_panic_still_sets_shutdown_with_worker_pool ... ok [INFO] [stdout] test tests::pool::pool_worker_contention::two_pool_loops_share_one_task_only_one_executes_body ... ok [INFO] [stdout] test tests::pool::pool_worker_enqueue::enqueue_task_unblocks_pool_loop_waiting_on_condvar ... ok [INFO] [stdout] test tests::runtime::shared_state_sync::wait_for_task_progress_wakes_on_enqueue_notify ... ok [INFO] [stdout] test tests::runtime::shared_state_sync::wait_for_task_progress_wakes_on_store_task_result ... ok [INFO] [stdout] test tests::runtime::shared_state_sync::wait_for_task_progress_returns_on_timeout_without_progress ... ok [INFO] [stdout] test tests::runtime::runtime_shutdown_happy::repeated_runs_with_spawn_chunk_each_complete_and_set_shutdown ... ok [INFO] [stdout] test tests::runtime::shared_state_stress::pool_worker_blocks_until_enqueue_then_shutdown ... ok [INFO] [stdout] test tests::runtime::shared_state_stress::pool_worker_drains_prequeued_task_then_exits_on_shutdown ... ok [INFO] [stderr] Doc-tests fpas_bytecode [INFO] [stdout] [INFO] [stdout] test result: ok. 154 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Doc-tests fpas_compiler [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 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] [stderr] Doc-tests fpas_diagnostics [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] [stderr] Doc-tests fpas_lexer [INFO] [stderr] Doc-tests fpas_parser [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 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] [stderr] Doc-tests fpas_project [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] [stderr] Doc-tests fpas_sema [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] [stderr] Doc-tests fpas_std [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] [stderr] Doc-tests fpas_vm [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] running `Command { std: "docker" "inspect" "08825860c1e0ebc13ad07b937e815e579321f98f6f97de4511fda0617ea7b11c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "08825860c1e0ebc13ad07b937e815e579321f98f6f97de4511fda0617ea7b11c", kill_on_drop: false }` [INFO] [stdout] 08825860c1e0ebc13ad07b937e815e579321f98f6f97de4511fda0617ea7b11c