| (module |
| (type ${i32_f32_f64} (struct (field i32) (field f32) (field f64))) |
| (type $[mut:f64] (array (mut f64))) |
| (type ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|} (struct (field i8) (field (mut i16)) (field (ref ${i32_f32_f64})) (field (mut (ref ${i32_f32_f64}))))) |
| (type $none_=>_none (func)) |
| (type $[mut:ref?|[mut:f64]|] (array (mut (ref null $[mut:f64])))) |
| (type $[mut:i8] (array (mut i8))) |
| (type ${mut:f32} (struct (field (mut f32)))) |
| (type ${} (struct )) |
| (type ${i32} (struct_subtype (field i32) ${})) |
| (type ${i32_i64} (struct_subtype (field i32) (field i64) ${i32})) |
| (type $ref?|[mut:f64]|_=>_none (func (param (ref null $[mut:f64])))) |
| (type ${mut:ref|{i32}|} (struct (field (mut (ref ${i32}))))) |
| (type $[mut:i32] (array (mut i32))) |
| (type $[mut:ref|{i32}|] (array (mut (ref ${i32})))) |
| (type $anyref_=>_none (func (param anyref))) |
| (type $ref|{i32_f32_f64}|_ref?|{i32_f32_f64}|_ref?|{i32_i64}|_ref?|{mut:f32}|_ref?|{mut:ref|{i32}|}|_=>_ref|{i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|}| (func (param (ref ${i32_f32_f64}) (ref null ${i32_f32_f64}) (ref null ${i32_i64}) (ref null ${mut:f32}) (ref null ${mut:ref|{i32}|})) (result (ref ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|})))) |
| (type $ref|[mut:f64]|_ref?|[mut:ref|{i32}|]|_ref?|{i32_i64}|_=>_ref|[mut:ref?|[mut:f64]|]| (func (param (ref $[mut:f64]) (ref null $[mut:ref|{i32}|]) (ref null ${i32_i64})) (result (ref $[mut:ref?|[mut:f64]|])))) |
| (type $anyref_funcref_=>_none (func (param anyref funcref))) |
| (type $ref?|{mut:f32}|_=>_none (func (param (ref null ${mut:f32})))) |
| (type $ref|[mut:f64]|_ref?|[mut:f64]|_=>_none (func (param (ref $[mut:f64]) (ref null $[mut:f64])))) |
| (type $none_=>_ref|[mut:f64]| (func (result (ref $[mut:f64])))) |
| (type $none_=>_ref|[mut:i8]| (func (result (ref $[mut:i8])))) |
| (global $global$0 (ref ${i32_f32_f64}) (struct.new_default ${i32_f32_f64})) |
| (func $0 (type $ref|{i32_f32_f64}|_ref?|{i32_f32_f64}|_ref?|{i32_i64}|_ref?|{mut:f32}|_ref?|{mut:ref|{i32}|}|_=>_ref|{i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|}|) (param $0 (ref ${i32_f32_f64})) (param $1 (ref null ${i32_f32_f64})) (param $2 (ref null ${i32_i64})) (param $3 (ref null ${mut:f32})) (param $4 (ref null ${mut:ref|{i32}|})) (result (ref ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|})) |
| (local $5 (ref null ${i32_f32_f64})) |
| (local $6 (ref null ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|})) |
| (local $7 (ref null ${mut:f32})) |
| (local $8 (ref null $[mut:f64])) |
| (local $9 (ref null $[mut:ref?|[mut:f64]|])) |
| (drop |
| (local.get $0) |
| ) |
| (drop |
| (struct.get ${i32_f32_f64} 0 |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (struct.get ${i32_f32_f64} 1 |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (struct.get ${i32_f32_f64} 2 |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (struct.get ${i32_f32_f64} 2 |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (struct.get ${i32_f32_f64} 2 |
| (local.get $1) |
| ) |
| ) |
| (drop |
| (struct.get_u ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|} 0 |
| (local.get $6) |
| ) |
| ) |
| (drop |
| (struct.get_s ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|} 0 |
| (local.get $6) |
| ) |
| ) |
| (drop |
| (struct.get ${i32_i64} 0 |
| (local.get $2) |
| ) |
| ) |
| (drop |
| (local.get $0) |
| ) |
| (drop |
| (if (result (ref null ${i32_f32_f64})) |
| (i32.const 1) |
| (local.get $0) |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (loop $label$3 (result (ref null ${i32_f32_f64})) |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (select (result (ref null ${i32_f32_f64})) |
| (local.get $0) |
| (local.get $0) |
| (i32.const 1) |
| ) |
| ) |
| (struct.set ${mut:f32} 0 |
| (local.get $3) |
| (f32.const 100) |
| ) |
| (struct.set ${mut:ref|{i32}|} 0 |
| (local.get $4) |
| (ref.as_non_null |
| (local.get $2) |
| ) |
| ) |
| (drop |
| (struct.new_default ${i32_f32_f64}) |
| ) |
| (drop |
| (struct.new ${i32_f32_f64} |
| (i32.const 1) |
| (f32.const 2.3450000286102295) |
| (f64.const 3.14159) |
| ) |
| ) |
| (unreachable) |
| ) |
| (func $1 (type $ref|[mut:f64]|_ref?|[mut:ref|{i32}|]|_ref?|{i32_i64}|_=>_ref|[mut:ref?|[mut:f64]|]|) (param $0 (ref $[mut:f64])) (param $1 (ref null $[mut:ref|{i32}|])) (param $2 (ref null ${i32_i64})) (result (ref $[mut:ref?|[mut:f64]|])) |
| (local $3 (ref null $[mut:f64])) |
| (local $4 (ref null $[mut:ref?|[mut:f64]|])) |
| (local $5 (ref null $[mut:i8])) |
| (local $6 (ref null $[mut:i32])) |
| (drop |
| (array.new $[mut:f64] |
| (f64.const 3.14159) |
| (i32.const 3) |
| ) |
| ) |
| (drop |
| (array.new_default $[mut:ref?|[mut:f64]|] |
| (i32.const 10) |
| ) |
| ) |
| (drop |
| (array.get $[mut:f64] |
| (local.get $0) |
| (i32.const 2) |
| ) |
| ) |
| (array.set $[mut:f64] |
| (local.get $0) |
| (i32.const 2) |
| (f64.const 2.18281828) |
| ) |
| (array.set $[mut:ref|{i32}|] |
| (local.get $1) |
| (i32.const 3) |
| (ref.as_non_null |
| (local.get $2) |
| ) |
| ) |
| (drop |
| (array.len |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (array.get $[mut:i32] |
| (local.get $6) |
| (i32.const 1) |
| ) |
| ) |
| (drop |
| (array.get_u $[mut:i8] |
| (local.get $5) |
| (i32.const 2) |
| ) |
| ) |
| (drop |
| (array.get_s $[mut:i8] |
| (local.get $5) |
| (i32.const 3) |
| ) |
| ) |
| (unreachable) |
| ) |
| (func $2 (type $anyref_=>_none) (param $0 anyref) |
| (if |
| (ref.is_null |
| (local.get $0) |
| ) |
| (unreachable) |
| ) |
| (if |
| (ref.is_i31 |
| (local.get $0) |
| ) |
| (unreachable) |
| ) |
| ) |
| (func $3 (type $anyref_funcref_=>_none) (param $0 anyref) (param $1 funcref) |
| (drop |
| (ref.as_non_null |
| (local.get $0) |
| ) |
| ) |
| (drop |
| (ref.as_func |
| (local.get $1) |
| ) |
| ) |
| (drop |
| (ref.as_i31 |
| (local.get $0) |
| ) |
| ) |
| ) |
| (func $4 (type $anyref_=>_none) (param $0 anyref) |
| (local $1 anyref) |
| (local $2 anyref) |
| (local $3 funcref) |
| (local $4 i31ref) |
| (block $label$1 |
| (local.set $2 |
| (br_on_null $label$1 |
| (local.get $0) |
| ) |
| ) |
| ) |
| (drop |
| (block $label$2 (result i31ref) |
| (local.set $1 |
| (br_on_i31 $label$2 |
| (local.get $0) |
| ) |
| ) |
| (ref.null none) |
| ) |
| ) |
| (drop |
| (block $label$3 (result (ref any)) |
| (br_on_non_null $label$3 |
| (local.get $0) |
| ) |
| (unreachable) |
| ) |
| ) |
| (drop |
| (block $label$4 (result anyref) |
| (local.set $4 |
| (br_on_non_i31 $label$4 |
| (local.get $0) |
| ) |
| ) |
| (ref.null none) |
| ) |
| ) |
| ) |
| (func $5 (type $none_=>_none) |
| (unreachable) |
| ) |
| (func $6 (type $ref?|{mut:f32}|_=>_none) (param $0 (ref null ${mut:f32})) |
| (drop |
| (local.get $0) |
| ) |
| (unreachable) |
| ) |
| (func $7 (type $none_=>_none) |
| (unreachable) |
| ) |
| (func $8 (type $none_=>_none) |
| (unreachable) |
| ) |
| (func $9 (type $none_=>_none) |
| (unreachable) |
| ) |
| (func $10 (type $ref?|[mut:f64]|_=>_none) (param $0 (ref null $[mut:f64])) |
| (drop |
| (local.get $0) |
| ) |
| (unreachable) |
| ) |
| (func $11 (type $none_=>_none) |
| (unreachable) |
| ) |
| (func $12 (type $ref?|[mut:f64]|_=>_none) (param $0 (ref null $[mut:f64])) |
| (drop |
| (local.get $0) |
| ) |
| (unreachable) |
| ) |
| (func $13 (type $ref?|[mut:f64]|_=>_none) (param $0 (ref null $[mut:f64])) |
| (drop |
| (local.get $0) |
| ) |
| (drop |
| (i32.const 2) |
| ) |
| (unreachable) |
| ) |
| (func $14 (type $none_=>_none) |
| (unreachable) |
| ) |
| (func $15 (type $ref|[mut:f64]|_ref?|[mut:f64]|_=>_none) (param $0 (ref $[mut:f64])) (param $1 (ref null $[mut:f64])) |
| (array.copy $[mut:f64] $[mut:f64] |
| (local.get $0) |
| (i32.const 11) |
| (local.get $1) |
| (i32.const 42) |
| (i32.const 1337) |
| ) |
| ) |
| (func $16 (type $none_=>_ref|[mut:f64]|) (result (ref $[mut:f64])) |
| (array.new_fixed $[mut:f64] |
| (f64.const 1) |
| (f64.const 2) |
| (f64.const 4) |
| (f64.const 8) |
| ) |
| ) |
| (func $17 (type $none_=>_ref|[mut:i8]|) (result (ref $[mut:i8])) |
| (array.new_fixed $[mut:i8] |
| (i32.const 4) |
| (i32.const 2) |
| (i32.const 1) |
| ) |
| ) |
| (func $18 (type $none_=>_none) |
| (local $0 (ref null ${i32_f32_f64})) |
| (local $1 (ref null ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|})) |
| (drop |
| (ref.test ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|} |
| (ref.null none) |
| ) |
| ) |
| (drop |
| (ref.cast null none |
| (ref.null none) |
| ) |
| ) |
| (drop |
| (block $label$1 (result (ref ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|})) |
| (local.set $0 |
| (br_on_cast $label$1 ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|} |
| (ref.null none) |
| ) |
| ) |
| (unreachable) |
| ) |
| ) |
| (drop |
| (block $label$2 (result (ref null ${i32_f32_f64})) |
| (local.set $1 |
| (br_on_cast_fail $label$2 ${i8_mut:i16_ref|{i32_f32_f64}|_mut:ref|{i32_f32_f64}|} |
| (ref.null none) |
| ) |
| ) |
| (unreachable) |
| ) |
| ) |
| ) |
| ) |
| |