blob: 9c1c76a58ce2a1ae53ac50aef80da99f78650309 [file] [log] [blame]
;; Test that exact references in public types are disallowed without custom descriptors
;; RUN: not wasm-opt %s -all --disable-custom-descriptors 2>&1 | filecheck %s
;; RUN: wasm-opt %s -all -S -o - | filecheck %s --check-prefix=NOERR
;; CHECK: [wasm-validator error in module] Exact reference in public type not allowed without custom descriptors [--enable-custom-descriptors], on
;; CHECK-NEXT: $struct
;; CHECK-NEXT: [wasm-validator error in module] Exact reference in public type not allowed without custom descriptors [--enable-custom-descriptors], on
;; CHECK-NEXT: $array
;; CHECK-NEXT: [wasm-validator error in module] Exact reference in public type not allowed without custom descriptors [--enable-custom-descriptors], on
;; CHECK-NEXT: $func
;; NOERR: (module
(module
(type $struct (struct (field (ref null (exact $struct)))))
(type $array (array (field (ref (exact $struct)))))
(type $func (func (param (ref null (exact $struct))) (result (ref (exact $array)))))
(import "" "struct" (global $struct (ref $struct)))
(import "" "array" (global $array (ref $array)))
(import "" "func" (global $func (ref $func)))
)