1(assert_trap 2 (component 3 (type $enum (enum "case0" "case1" "case2")) 4 5 ;; Returns invalid discriminant 3 (valid range: 0-2) 6 (component $producer 7 (import "enum" (type $enum' (eq $enum))) 8 (core module $core 9 (func (export "get") (result i32) (i32.const 3))) 10 (core instance $inst (instantiate $core)) 11 (func (export "get") (result $enum') (canon lift (core func $inst "get")))) 12 13 ;; Calls producer through adapter - validation should trap here 14 (component $consumer 15 (import "enum" (type $enum' (eq $enum))) 16 (import "get" (func $get (result $enum'))) 17 (core func $lowered (canon lower (func $get))) 18 (core module $core 19 (import "" "get" (func (result i32))) 20 (func $start (call 0) drop) 21 (start $start)) 22 (core instance (instantiate $core (with "" (instance (export "get" (func $lowered))))))) 23 24 (instance $prod (instantiate $producer (with "enum" (type $enum)))) 25 (instance (instantiate $consumer (with "enum" (type $enum)) (with "get" (func $prod "get"))))) 26 "invalid variant discriminant") 27