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