# Copyright (c) Microsoft Corporation. # Licensed under the MIT License. # Builtin Out-Parameter Test Suite # Verifies the compiler handles builtin return-argument syntax consistently # across variable bindings, equality checks, scheduler ordering, and literals. cases: - note: builtin_out_param_simple_binding data: {} modules: - | package test rule1 if { floor(1.001, x) x == 1 } query: data.test.rule1 want_result: true - note: builtin_out_param_scheduler_reordering data: {} modules: - | package test rule2 if { x == 1 floor(1.001, x) } query: data.test.rule2 want_result: true - note: builtin_out_param_existing_binding_equality data: {} modules: - | package test rule3 if { x := 1 floor(1.001, x) } query: data.test.rule3 want_result: true - note: builtin_out_param_existing_binding_mismatch data: {} modules: - | package test rule31 if { x := 2 floor(1.001, x) } query: data.test.rule31 want_result: "#undefined" - note: builtin_out_param_literal_success data: {} modules: - | package test rule4 if { floor(1.001, 1) } query: data.test.rule4 want_result: true - note: builtin_out_param_literal_failure data: {} modules: - | package test rule5 if { floor(1.001, 2) } query: data.test.rule5 want_result: "#undefined" - note: builtin_out_param_negated_equality data: {} modules: - | package test rule5 if { not abs(-5, 3) } query: data.test.rule5 want_result: true