| (module | |
| (global $global_pair (mut (tuple i32 i64)) (tuple.make 2 (i32.const 0) (i64.const 0))) | |
| (func $pair (export "pair") (result i32 i64) | |
| (tuple.make 2 | |
| (i32.const 42) | |
| (i64.const 7) | |
| ) | |
| ) | |
| (func (export "tuple-local") (result i32 i64) | |
| (local $x (tuple i32 i64)) | |
| (local.get $x) | |
| ) | |
| (func (export "tuple-global-get") (result i32 i64) | |
| (global.get $global_pair) | |
| ) | |
| (func (export "tuple-global-set") | |
| (global.set $global_pair | |
| (tuple.make 2 | |
| (i32.const 42) | |
| (i64.const 7) | |
| ) | |
| ) | |
| ) | |
| (func (export "tail-call") (result i32 i64) | |
| (return_call $pair) | |
| (unreachable) | |
| ) | |
| ) | |
| ;; (assert_return (invoke "pair") (tuple.make 2 (i32.const 42) (i64.const 7))) | |
| ;; (assert_return (invoke "tuple-local") (tuple.make 2 (i32.const 0) (i64.const 0))) | |
| ;; (assert_return (invoke "tuple-global-get") (tuple.make 2 (i32.const 0) (i64.const 0))) | |
| ;; (assert_return (invoke "tuple-global-set")) | |
| ;; (assert_return (invoke "tuple-global-get") (tuple.make 2 (i32.const 42) (i64.const 7))) | |
| ;; (assert_return (invoke "tail-call") (tuple.make 2 (i32.const 42) (i64.const 7))) |