From 626c2bc6589101bd1b0231a2608e32b51f73abba Mon Sep 17 00:00:00 2001 From: treeform Date: Sun, 27 Dec 2020 01:45:30 -0800 Subject: [PATCH] Add docs for nnkHiddenStdConv (#16408) Add it to devel branch this time. I hope this works. --- doc/astspec.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 ==================