slovo/tests/enum-payload-i32.checked.lower
2026-05-22 08:38:43 +02:00

90 lines
2.6 KiB
Plaintext

program main
enum Reading
variant Missing
variant Value i32
variant Offset i32
fn missing() -> Reading
enum-variant Reading.Missing #0 : Reading
fn value(payload: i32) -> Reading
enum-variant Reading.Value #1 payload : Reading
var payload : i32
fn echo(reading: Reading) -> Reading
var reading : Reading
fn local_reading(payload: i32) -> Reading
local let reading : unit
enum-variant Reading.Value #1 payload : Reading
var payload : i32
var reading : Reading
fn same_reading(left: Reading, right: Reading) -> bool
binary = : bool
var left : Reading
var right : Reading
fn reading_code(reading: Reading) -> i32
match : i32
subject
var reading : Reading
arm Reading.Missing
int 0 : i32
arm Reading.Value payload
var payload : i32
arm Reading.Offset payload
binary + : i32
var payload : i32
int 100 : i32
fn call_flow(payload: i32) -> Reading
call echo : Reading
call local_reading : Reading
var payload : i32
fn main() -> i32
call reading_code : i32
call call_flow : Reading
int 42 : i32
test "enum payload constructor equality"
binary = : bool
enum-variant Reading.Value #1 payload : Reading
int 7 : i32
call value : Reading
int 7 : i32
test "enum payload equality compares payload"
if : bool
binary = : bool
enum-variant Reading.Value #1 payload : Reading
int 7 : i32
enum-variant Reading.Value #1 payload : Reading
int 8 : i32
bool false : bool
bool true : bool
test "enum payloadless equality"
binary = : bool
enum-variant Reading.Missing #0 : Reading
call missing : Reading
test "enum payload local return call flow"
binary = : bool
call call_flow : Reading
int 9 : i32
enum-variant Reading.Value #1 payload : Reading
int 9 : i32
test "enum payload parameter equality"
call same_reading : bool
call value : Reading
int 11 : i32
enum-variant Reading.Value #1 payload : Reading
int 11 : i32
test "enum payload match missing"
binary = : bool
call reading_code : i32
enum-variant Reading.Missing #0 : Reading
int 0 : i32
test "enum payload match value"
binary = : bool
call reading_code : i32
enum-variant Reading.Value #1 payload : Reading
int 12 : i32
int 12 : i32
test "enum payload match offset"
binary = : bool
call reading_code : i32
enum-variant Reading.Offset #2 payload : Reading
int 5 : i32
int 105 : i32