@@ -136,18 +136,19 @@ Notes:
136136
137137(See [ Type Definitions] ( Explainer.md#type-definitions ) in the explainer.)
138138``` ebnf
139- core:type ::= dt:<core:deftype> => (type dt) (GC proposal)
140- core:deftype ::= rt:<core:rectype> => rt (WebAssembly 3.0)
141- | mt:<core:moduletype> => mt
142- core:moduletype ::= 0x50 md*:vec(<core:moduledecl>) => (module md*)
143- core:moduledecl ::= 0x00 i:<core:import> => i
144- | 0x01 t:<core:type> => t
145- | 0x02 a:<core:alias> => a
146- | 0x03 e:<core:exportdecl> => e
147- core:alias ::= s:<core:sort> t:<core:aliastarget> => (alias t (s))
148- core:aliastarget ::= 0x01 ct:<u32> idx:<u32> => outer ct idx
149- core:importdecl ::= i:<core:import> => i
150- core:exportdecl ::= n:<core:name> d:<core:importdesc> => (export n d)
139+ core:type ::= dt:<core:deftype> => (type dt) (GC proposal)
140+ core:deftype ::= rt:<core:rectype> => rt (WebAssembly 3.0)
141+ | 0x00 0x50 x*:vec(<core:typeidx>) ct:<core:comptype> => sub x* ct (WebAssembly 3.0)
142+ | mt:<core:moduletype> => mt
143+ core:moduletype ::= 0x50 md*:vec(<core:moduledecl>) => (module md*)
144+ core:moduledecl ::= 0x00 i:<core:import> => i
145+ | 0x01 t:<core:type> => t
146+ | 0x02 a:<core:alias> => a
147+ | 0x03 e:<core:exportdecl> => e
148+ core:alias ::= s:<core:sort> t:<core:aliastarget> => (alias t (s))
149+ core:aliastarget ::= 0x01 ct:<u32> idx:<u32> => outer ct idx
150+ core:importdecl ::= i:<core:import> => i
151+ core:exportdecl ::= n:<core:name> d:<core:importdesc> => (export n d)
151152```
152153Notes:
153154* Reused Core binary rules: [ ` core:import ` ] , [ ` core:importdesc ` ] ,
0 commit comments