diff --git a/document/appendix/implementation.rst b/document/appendix/implementation.rst index f47f5a3d9e..f527653b93 100644 --- a/document/appendix/implementation.rst +++ b/document/appendix/implementation.rst @@ -51,10 +51,17 @@ An implementation may impose restrictions on the following dimensions of a modul * the length of an :ref:`element segment ` * the length of a :ref:`data segment ` * the length of a :ref:`name ` +* the range of :ref:`code points ` in a :ref:`name ` If the limits of an implementation are exceeded for a given module, then the implementation may reject the :ref:`validation `, compilation, or :ref:`instantiation ` of that module with an embedder-specific error. +.. note:: + The last item allows embedders that operate in limited environments without support for + `Unicode `_ to limit the + names of :ref:`imports ` and :ref:`exports ` + to common subsets like `ASCII `_. + .. _impl-binary: .. index:: binary format, module, section, function, code @@ -83,6 +90,7 @@ For a module given in :ref:`text format `, additional limitations may be i * the size of an individual :ref:`token ` * the nesting depth of :ref:`folded instructions ` * the length of symbolic :ref:`identifiers ` +* the range of literal :ref:`characters ` (code points) allowed in the :ref:`source text ` .. _impl-valid: