[fuzz-exec] calling structs
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 42]
[LoggingExternalInterface logging 100]
[LoggingExternalInterface logging 100]
[fuzz-exec] calling arrays
[LoggingExternalInterface logging 50]
[LoggingExternalInterface logging 42]
[LoggingExternalInterface logging 128]
[LoggingExternalInterface logging -128]
[LoggingExternalInterface logging 42]
[fuzz-exec] calling rtts
[LoggingExternalInterface logging 1]
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 1]
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 1]
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 1]
[fuzz-exec] calling br_on_cast
[LoggingExternalInterface logging 3]
[trap unreachable]
[fuzz-exec] calling cast-null-anyref-to-gc
[LoggingExternalInterface logging 0]
[fuzz-exec] calling br_on_data
[LoggingExternalInterface logging 1]
[fuzz-exec] calling $rtt-and-cast-on-func
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 1]
[LoggingExternalInterface logging 2]
[LoggingExternalInterface logging 1337]
[LoggingExternalInterface logging 3]
[trap cast error]
(module
 (type $struct (struct (field (mut i32))))
 (type $void_func (func))
 (type $extendedstruct (struct (field i32) (field f64)))
 (type $bytes (array (mut i8)))
 (type $i32_=>_none (func (param i32)))
 (type $anyref_=>_none (func (param anyref)))
 (type $int_func (func (result i32)))
 (import "fuzzing-support" "log-i32" (func $log (param i32)))
 (export "structs" (func $0))
 (export "arrays" (func $1))
 (export "rtts" (func $2))
 (export "br_on_cast" (func $3))
 (export "cast-null-anyref-to-gc" (func $4))
 (export "br_on_data" (func $5))
 (export "$rtt-and-cast-on-func" (func $7))
 (func $0 (; has Stack IR ;)
  (local $0 (ref null $struct))
  (call $log
   (struct.get $struct 0
    (local.tee $0
     (struct.new_default_with_rtt $struct
      (rtt.canon $struct)
     )
    )
   )
  )
  (struct.set $struct 0
   (local.get $0)
   (i32.const 42)
  )
  (call $log
   (struct.get $struct 0
    (local.get $0)
   )
  )
  (struct.set $struct 0
   (local.get $0)
   (i32.const 100)
  )
  (call $log
   (struct.get $struct 0
    (local.get $0)
   )
  )
  (call $log
   (struct.get $struct 0
    (local.get $0)
   )
  )
 )
 (func $1 (; has Stack IR ;)
  (local $0 (ref null $bytes))
  (call $log
   (array.len $bytes
    (local.tee $0
     (array.new_with_rtt $bytes
      (i32.const 42)
      (i32.const 50)
      (rtt.canon $bytes)
     )
    )
   )
  )
  (call $log
   (array.get_u $bytes
    (local.get $0)
    (i32.const 10)
   )
  )
  (array.set $bytes
   (local.get $0)
   (i32.const 10)
   (i32.const 65408)
  )
  (call $log
   (array.get_u $bytes
    (local.get $0)
    (i32.const 10)
   )
  )
  (call $log
   (array.get_s $bytes
    (local.get $0)
    (i32.const 10)
   )
  )
  (call $log
   (array.get_s $bytes
    (local.get $0)
    (i32.const 20)
   )
  )
 )
 (func $2 (; has Stack IR ;)
  (local $0 anyref)
  (call $log
   (i32.const 1)
  )
  (call $log
   (i32.const 0)
  )
  (call $log
   (i32.const 0)
  )
  (call $log
   (i32.const 1)
  )
  (call $log
   (i32.const 0)
  )
  (call $log
   (ref.test
    (local.tee $0
     (struct.new_default_with_rtt $extendedstruct
      (rtt.sub $extendedstruct
       (rtt.canon $struct)
      )
     )
    )
    (rtt.sub $extendedstruct
     (rtt.canon $struct)
    )
   )
  )
  (call $log
   (ref.test
    (local.get $0)
    (rtt.canon $extendedstruct)
   )
  )
  (call $log
   (ref.test
    (local.get $0)
    (rtt.canon $struct)
   )
  )
 )
 (func $3 (; has Stack IR ;)
  (call $log
   (i32.const 3)
  )
  (unreachable)
 )
 (func $4 (; has Stack IR ;)
  (call $log
   (i32.const 0)
  )
 )
 (func $5 (; has Stack IR ;) (param $0 anyref)
  (drop
   (block $data (result (ref null data))
    (drop
     (br_on_data $data
      (local.get $0)
     )
    )
    (call $log
     (i32.const 1)
    )
    (ref.null data)
   )
  )
 )
 (func $a-void-func (; has Stack IR ;)
  (call $log
   (i32.const 1337)
  )
 )
 (func $7 (; has Stack IR ;)
  (call $log
   (i32.const 0)
  )
  (call $log
   (i32.const 1)
  )
  (call $log
   (i32.const 2)
  )
  (call_ref
   (ref.cast
    (ref.func $a-void-func)
    (rtt.canon $void_func)
   )
  )
  (call $log
   (i32.const 3)
  )
  (drop
   (call_ref
    (ref.cast
     (ref.func $a-void-func)
     (rtt.canon $int_func)
    )
   )
  )
  (call $log
   (i32.const 4)
  )
 )
)
[fuzz-exec] calling structs
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 42]
[LoggingExternalInterface logging 100]
[LoggingExternalInterface logging 100]
[fuzz-exec] calling arrays
[LoggingExternalInterface logging 50]
[LoggingExternalInterface logging 42]
[LoggingExternalInterface logging 128]
[LoggingExternalInterface logging -128]
[LoggingExternalInterface logging 42]
[fuzz-exec] calling rtts
[LoggingExternalInterface logging 1]
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 1]
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 1]
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 1]
[fuzz-exec] calling br_on_cast
[LoggingExternalInterface logging 3]
[trap unreachable]
[fuzz-exec] calling cast-null-anyref-to-gc
[LoggingExternalInterface logging 0]
[fuzz-exec] calling br_on_data
[LoggingExternalInterface logging 1]
[fuzz-exec] calling $rtt-and-cast-on-func
[LoggingExternalInterface logging 0]
[LoggingExternalInterface logging 1]
[LoggingExternalInterface logging 2]
[LoggingExternalInterface logging 1337]
[LoggingExternalInterface logging 3]
[trap cast error]
