;; Heap types func funcref (ref func) any anyref (ref any) eq eqref (ref eq) i31 (ref null i31) i31ref (func) (struct) (array i32) ;; Signature (func) (ref $func.0) (ref null $func.0) (func (param i32) (result f64)) (ref $func.0) (ref null $func.0) ;; Struct (struct) (ref $struct.0) (ref null $struct.0) (struct (field i32 i64 (mut f32) (mut f64) anyref)) (ref $struct.0) (ref null $struct.0) ;; Array (array i32) (ref $array.0) (ref null $array.0) (array (mut anyref)) (ref $array.0) (ref null $array.0) ;; Tuple () none (i32 f64 anyref) (i32 f64 anyref) ;; Rtt (rtt 0 func) (rtt 0 func) (rtt 2 any) (rtt 2 any) (rtt 3 eq) (rtt 3 eq) (rtt 4 i31) (rtt 4 i31) (rtt 6 $func.0) (rtt 6 $func.0) (rtt 7 $struct.0) (rtt 7 $struct.0) (rtt 8 $array.0) (rtt 8 $array.0) ;; Signature of references (param/result) (func (param (ref null $struct.0)) (result (ref $array.0))) ;; Signature of references (params/results) (func (param (ref null $struct.0) (ref $array.0)) (result (ref $struct.0) (ref null $array.1))) ;; Struct of references (struct (field (ref $func.0) (mut (ref $func.0)) (ref null $func.0) (mut (ref null $func.0)))) (ref $struct.0) (ref null $struct.0) (struct (field (ref $struct.0) (mut (ref $struct.0)) (ref null $struct.0) (mut (ref null $struct.0)))) (ref $struct.0) (ref null $struct.0) (struct (field (ref $array.0) (mut (ref $array.0)) (ref null $array.0) (mut (ref null $array.0)))) (ref $struct.0) (ref null $struct.0) (struct (field (mut i32) (mut (ref null $func.0)) (mut (ref null $struct.0)) (mut (ref null $array.0)))) (ref $struct.0) (ref null $struct.0) ;; Array of references (array (ref null $func.0)) (ref $array.0) (ref null $array.0) (array (mut (ref null $struct.0))) (ref $array.0) (ref null $array.0) (array (ref null $array.0)) (ref $array.0) (ref null $array.0) ;; Tuple of references ((ref $func.0) (ref null $func.0) (ref $struct.0) (ref null $struct.0) (ref $array.0) (ref null $array.0)) ((ref $func.0) (ref null $func.0) (ref $struct.0) (ref null $struct.0) (ref $array.0) (ref null $array.0)) ;; Recursive (not really) (func (param (ref $func.0))) (ref $func.0) (func (param (ref $array.0))) (ref $func.0)