diff --git a/doc/astspec.txt b/doc/astspec.txt index c41aee96f6..019b735f58 100644 --- a/doc/astspec.txt +++ b/doc/astspec.txt @@ -1392,6 +1392,17 @@ Macro declaration Macros behave like templates, but ``nnkTemplateDef`` is replaced with ``nnkMacroDef``. +Hidden Standard Conversion +-------------------------- + +.. code-block:: nim + var f: float = 1 + +The type of "f" is ``float`` but the type of "1" is actually ``int``. Inserting +``int`` into a ``float`` is a type error. Nim inserts the ``nnkHiddenStdConv`` +node around the ``nnkIntLit`` node so that the new node has the correct type of +``float``. This works for any auto converted nodes and makes the conversion +explicit. Special node kinds ==================