| ;; Some instructions are shared-polymorphic and work with shared or unshared | |
| ;; references. | |
| (module | |
| (func (drop (ref.eq (ref.null (shared none)) (ref.null (shared none))))) | |
| (func (param (ref null (shared i31))) (drop (i31.get_s (local.get 0)))) | |
| (func (param (ref null (shared i31))) (drop (i31.get_u (local.get 0)))) | |
| (func (param (ref null (shared array))) (drop (array.len (local.get 0)))) | |
| (func (param (ref null (shared extern))) (result (ref null (shared any))) | |
| (any.convert_extern (local.get 0)) | |
| ) | |
| (func (param (ref (shared extern))) (result (ref (shared any))) | |
| (any.convert_extern (local.get 0)) | |
| ) | |
| (func (param (ref null (shared any))) (result (ref null (shared extern))) | |
| (extern.convert_any (local.get 0)) | |
| ) | |
| (func (param (ref (shared any))) (result (ref (shared extern))) | |
| (extern.convert_any (local.get 0)) | |
| ) | |
| ) |