mirror of
https://github.com/mii443/wasmer.git
synced 2025-12-12 05:18:43 +00:00
spec:
https://github.com/WebAssembly/spec/commit/e3c10811
simd:
https://github.com/WebAssembly/simd/commit/de4409bc
gc:
https://github.com/WebAssembly/gc/commit/db1c01a9
tail-call:
https://github.com/WebAssembly/tail-call/commit/394d0aa3
This change was automatically generated by `update-testsuite.sh`
47 lines
1.2 KiB
Plaintext
Vendored
47 lines
1.2 KiB
Plaintext
Vendored
(module
|
|
(type $t (func (result i32)))
|
|
|
|
(func $nn (param $r (ref $t)) (result i32)
|
|
(call_ref (ref.as_non_null (local.get $r)))
|
|
)
|
|
(func $n (param $r (ref null $t)) (result i32)
|
|
(call_ref (ref.as_non_null (local.get $r)))
|
|
)
|
|
|
|
(elem func $f)
|
|
(func $f (result i32) (i32.const 7))
|
|
|
|
(func (export "nullable-null") (result i32) (call $n (ref.null $t)))
|
|
(func (export "nonnullable-f") (result i32) (call $nn (ref.func $f)))
|
|
(func (export "nullable-f") (result i32) (call $n (ref.func $f)))
|
|
|
|
(func (export "unreachable") (result i32)
|
|
(unreachable)
|
|
(ref.as_non_null)
|
|
(call $nn)
|
|
)
|
|
)
|
|
|
|
(assert_trap (invoke "unreachable") "unreachable")
|
|
|
|
(assert_trap (invoke "nullable-null") "null reference")
|
|
(assert_return (invoke "nonnullable-f") (i32.const 7))
|
|
(assert_return (invoke "nullable-f") (i32.const 7))
|
|
|
|
(assert_invalid
|
|
(module
|
|
(type $t (func (result i32)))
|
|
(func $g (param $r (ref $t)) (drop (ref.as_non_null (local.get $r))))
|
|
(func (call $g (ref.null $t)))
|
|
)
|
|
"type mismatch"
|
|
)
|
|
|
|
|
|
(module
|
|
(type $t (func))
|
|
(func (param $r (ref $t)) (drop (ref.as_non_null (local.get $r))))
|
|
(func (param $r (ref func)) (drop (ref.as_non_null (local.get $r))))
|
|
(func (param $r (ref extern)) (drop (ref.as_non_null (local.get $r))))
|
|
)
|