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

94 lines
3.0 KiB
Plaintext

program main
enum Status
variant Ready
variant Blocked
enum Reading
variant Missing
variant Value i32
struct TaggedReading
field status: Status
field reading: Reading
fn make_tagged(status: Status, reading: Reading) -> TaggedReading
construct TaggedReading : TaggedReading
field status
var status : Status
field reading
var reading : Reading
fn ready_value(payload: i32) -> TaggedReading
call make_tagged : TaggedReading
enum-variant Status.Ready #0 : Status
enum-variant Reading.Value #1 payload : Reading
var payload : i32
fn missing_blocked() -> TaggedReading
call make_tagged : TaggedReading
enum-variant Status.Blocked #1 : Status
enum-variant Reading.Missing #0 : Reading
fn echo_tagged(tagged: TaggedReading) -> TaggedReading
var tagged : TaggedReading
fn local_tagged(payload: i32) -> TaggedReading
local let tagged : unit
call ready_value : TaggedReading
var payload : i32
call echo_tagged : TaggedReading
var tagged : TaggedReading
fn status_of(tagged: TaggedReading) -> Status
field-access status : Status
var tagged : TaggedReading
fn reading_of(tagged: TaggedReading) -> Reading
field-access reading : Reading
var tagged : TaggedReading
fn is_ready(tagged: TaggedReading) -> bool
binary = : bool
field-access status : Status
var tagged : TaggedReading
enum-variant Status.Ready #0 : Status
fn reading_matches(tagged: TaggedReading, reading: Reading) -> bool
binary = : bool
field-access reading : Reading
var tagged : TaggedReading
var reading : Reading
fn reading_code(tagged: TaggedReading) -> i32
match : i32
subject
field-access reading : Reading
var tagged : TaggedReading
arm Reading.Missing
int 0 : i32
arm Reading.Value payload
var payload : i32
fn main() -> i32
call reading_code : i32
call local_tagged : TaggedReading
int 42 : i32
test "enum struct field payloadless equality"
binary = : bool
call status_of : Status
call missing_blocked : TaggedReading
enum-variant Status.Blocked #1 : Status
test "enum struct field unary payload equality"
call reading_matches : bool
call ready_value : TaggedReading
int 7 : i32
enum-variant Reading.Value #1 payload : Reading
int 7 : i32
test "enum struct field access return"
binary = : bool
call reading_of : Reading
call missing_blocked : TaggedReading
enum-variant Reading.Missing #0 : Reading
test "enum struct field local param return call flow"
binary = : bool
call reading_code : i32
call local_tagged : TaggedReading
int 9 : i32
int 9 : i32
test "enum struct field match missing"
binary = : bool
call reading_code : i32
call missing_blocked : TaggedReading
int 0 : i32
test "enum struct field status predicate"
call is_ready : bool
call ready_value : TaggedReading
int 11 : i32