Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bytecodealliance
GitHub Repository: bytecodealliance/wasmtime
Path: blob/main/crates/wiggle/tests/lists.witx
1692 views
(use "errno.witx")
(use "excuse.witx")

(typename $const_excuse_array (list (@witx const_pointer $excuse)))
(typename $excuse_array (list (@witx pointer $excuse)))

(module $lists
  (@interface func (export "reduce_excuses")
    (param $excuses $const_excuse_array)
    (result $error (expected $excuse (error $errno)))
  )
  (@interface func (export "populate_excuses")
    (param $excuses $excuse_array)
    (result $error (expected (error $errno)))
  )
)

(typename $pair_ints
  (record
    (field $first s32)
    (field $second s32)))

(typename $s32 s32)

(module $array_traversal
  (@interface func (export "sum_of_element")
    (param $elements (list $pair_ints))
    (param $index (@witx usize))
    (result $error (expected $s32 (error $errno))))

  (@interface func (export "sum_of_elements")
    (param $elements (list $pair_ints))
    (param $start (@witx usize))
    (param $end (@witx usize))
    (result $error (expected $s32 (error $errno))))
)