Skip to content

Commit a700429

Browse files
abrownlukewagner
authored andcommitted
review: add note about non-finality of sub
1 parent febfe39 commit a700429

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

design/mvp/Binary.md

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,13 @@ Notes:
153153
* Reused Core binary rules: [`core:import`], [`core:importdesc`],
154154
[`core:rectype`]
155155
* Unfortunately, the `core:deftype` rule results in an encoding ambiguity: the
156-
`0x50` opcode is used by both `core:moduletype` and `core:subtype`, which can
157-
be decoded as a top-level form of `core:rectype`. To resolve this, prior to
158-
v1.0 of this specification, we require `core:subtype` to be prefixed by `0x00`
159-
in this context (i.e., a `sub` as a component core type is `0x00 0x50`;
160-
elsewhere, `0x50`). By the v1.0 release of this specification,
161-
`core:moduletype` will receive a new, non-overlapping opcode.
156+
`0x50` opcode is used by both `core:moduletype` and a non-final
157+
`core:subtype`, which can be decoded as a top-level form of `core:rectype`. To
158+
resolve this, prior to v1.0 of this specification, we require `core:subtype`
159+
to be prefixed by `0x00` in this context (i.e., a non-final `sub` as a
160+
component core type is `0x00 0x50`; elsewhere, `0x50`). By the v1.0 release of
161+
this specification, `core:moduletype` will receive a new, non-overlapping
162+
opcode.
162163
* Validation of `core:moduledecl` rejects `core:moduletype` definitions
163164
and `outer` aliases of `core:moduletype` definitions inside `type`
164165
declarators. Thus, as an invariant, when validating a `core:moduletype`, the

0 commit comments

Comments
 (0)