@@ -136,18 +136,19 @@ Notes:
136
136
137
137
(See [ Type Definitions] ( Explainer.md#type-definitions ) in the explainer.)
138
138
``` 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)
151
152
```
152
153
Notes:
153
154
* Reused Core binary rules: [ ` core:import ` ] , [ ` core:importdesc ` ] ,
0 commit comments