(module
 (type $externref_=>_externref (func (param externref) (result externref)))
 (import "env" "test2" (global $test2 externref))
 (import "env" "test1" (func $test1 (param externref) (result externref)))
 (memory $0 1 1)
 (export "test1" (func $test1))
 (export "test2" (global $test2))
 (func $externref_test (; 1 ;) (param $0 externref) (result externref)
  (local $1 externref)
  (local.set $1
   (call $test1
    (local.get $0)
   )
  )
  (return
   (local.get $1)
  )
 )
)
