slovo/tests/type-aliases.checked.lower

98 lines
2.7 KiB
Plaintext

program main
enum Reading
variant Empty
variant Value i32
struct Measurement
field amount: i32
field label: string
fn bump(value: i32) -> i32
binary + : i32
var value : i32
int 1 : i32
fn make_counts(base: i32) -> (array i32 3)
array : (array i32 3)
var base : i32
binary + : i32
var base : i32
int 1 : i32
binary + : i32
var base : i32
int 2 : i32
fn pick_count(values: (array i32 3)) -> i32
index : i32
var values : (array i32 3)
int 1 : i32
fn make_measure(amount: i32) -> Measurement
construct Measurement : Measurement
field amount
var amount : i32
field label
string "ok" : string
fn measure_amount(measure: Measurement) -> i32
field-access amount : i32
var measure : Measurement
fn maybe_amount(amount: i32) -> (option i32)
some : (option i32)
var amount : i32
fn maybe_empty() -> (option i32)
none : (option i32)
fn ok_amount(amount: i32) -> (result i32 i32)
ok : (result i32 i32)
var amount : i32
fn err_amount(code: i32) -> (result i32 i32)
err : (result i32 i32)
var code : i32
fn empty_counts() -> (vec i32)
call std.vec.i32.empty : (vec i32)
fn reading_value(amount: i32) -> Reading
enum-variant Reading.Value #1 payload : Reading
var amount : i32
fn reading_score(reading: Reading) -> i32
match : i32
subject
var reading : Reading
arm Reading.Empty
int 0 : i32
arm Reading.Value amount
var amount : i32
fn main() -> i32
local let values : unit
call make_counts : (array i32 3)
int 40 : i32
binary + : i32
call pick_count : i32
var values : (array i32 3)
call measure_amount : i32
call make_measure : Measurement
int 1 : i32
test "aliases erase through arrays and structs"
binary = : bool
call main : i32
int 42 : i32
test "aliases erase through option result vec and enum"
local let maybe : unit
call maybe_amount : (option i32)
int 7 : i32
local let result : unit
call ok_amount : (result i32 i32)
int 8 : i32
if : bool
is_some : bool
var maybe : (option i32)
if : bool
is_ok : bool
var result : (result i32 i32)
if : bool
binary = : bool
call std.vec.i32.len : i32
call empty_counts : (vec i32)
int 0 : i32
binary = : bool
call reading_score : i32
call reading_value : Reading
int 9 : i32
int 9 : i32
bool false : bool
bool false : bool
bool false : bool