wasm-tools 1.248.0

CLI tools for interoperating with WebAssembly files
Documentation
;; RUN: wast --assert default --snapshot tests/snapshots -f cm64 %

(component
  (core module $m
    (memory (export "m") i64 1)
    (func (export "f") (result i32) unreachable)
    (func (export "realloc") (param i64 i64 i64 i64) (result i64) unreachable)
  )
  (core instance $i (instantiate $m))
  (func (result string)
    (canon lift (core func $i "f")
      (memory $i "m")
      (realloc (func $i "realloc"))
    )
  )
)

(assert_invalid
  (component
    (core module $m
      (memory (export "m") i64 1)
      (func (export "f") (param i32 i32))
      (func (export "realloc") (param i32 i32 i32 i32) (result i32) unreachable)
    )
    (core instance $i (instantiate $m))
    (func (param "p1" (list u8))
      (canon lift (core func $i "f")
        (memory $i "m")
        (realloc (func $i "realloc"))
      )
    )
  )
  "canonical option `realloc` uses a core function with an incorrect signature")

(assert_invalid
  (component
    (core module $m
      (memory (export "m") i32 1)
      (func (export "f") (param i32 i32))
      (func (export "realloc") (param i64 i64 i64 i64) (result i64) unreachable)
    )
    (core instance $i (instantiate $m))
    (func (param "p1" (list u8))
      (canon lift (core func $i "f")
        (memory $i "m")
        (realloc (func $i "realloc"))
      )
    )
  )
  "canonical option `realloc` uses a core function with an incorrect signature")