1*0d66dffdSNick Fitzgerald;;! gc = true
2*0d66dffdSNick Fitzgerald;;! bulk_memory = true
3*0d66dffdSNick Fitzgerald
4*0d66dffdSNick Fitzgerald(module
5*0d66dffdSNick Fitzgerald  (type $arr (array i8))
6*0d66dffdSNick Fitzgerald  (data $d "hello world")
7*0d66dffdSNick Fitzgerald
8*0d66dffdSNick Fitzgerald  (import "wasmtime" "gc" (func $gc))
9*0d66dffdSNick Fitzgerald
10*0d66dffdSNick Fitzgerald  (func (export "test") (result i32)
11*0d66dffdSNick Fitzgerald    (array.new_data $arr $d (i32.const 0) (i32.const 5))
12*0d66dffdSNick Fitzgerald
13*0d66dffdSNick Fitzgerald    (call $gc)
14*0d66dffdSNick Fitzgerald    (drop (array.new $arr (i32.const 0) (i32.const 5)))
15*0d66dffdSNick Fitzgerald
16*0d66dffdSNick Fitzgerald    (array.get_u $arr (i32.const 0))
17*0d66dffdSNick Fitzgerald  )
18*0d66dffdSNick Fitzgerald)
19*0d66dffdSNick Fitzgerald
20*0d66dffdSNick Fitzgerald(assert_return (invoke "test") (i32.const 104)) ;; 'h'
21