diff options
-rw-r--r-- | doc/manual.rst | 3 | ||||
-rw-r--r-- | lib/system.nim | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/doc/manual.rst b/doc/manual.rst index 9ce67ec45..bce51e3fd 100644 --- a/doc/manual.rst +++ b/doc/manual.rst @@ -3521,7 +3521,8 @@ Creating closures in loops Since closures capture local variables by reference it is often not wanted behavior inside loop bodies. See `closureScope -<system.html#closureScope.t,untyped>`_ for details on how to change this behavior. +<system.html#closureScope.t,untyped>`_ and `capture +<sugar.html#capture.m,openArray[typed],untyped>`_ for details on how to change this behavior. Anonymous Procs --------------- diff --git a/lib/system.nim b/lib/system.nim index 559f5fb89..05029b9d7 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -4395,7 +4395,12 @@ when defined(nimNoNilSeqs2): template closureScope*(body: untyped): untyped = ## Useful when creating a closure in a loop to capture local loop variables by - ## their current iteration values. Example: + ## their current iteration values. + ## + ## Note: This template may not work in some cases, use + ## `capture <sugar.html#capture.m,openArray[typed],untyped>`_ instead. + ## + ## Example: ## ## .. code-block:: Nim ## var myClosure : proc() |