Skip to content

Commit

Permalink
update documentation for closureScope and capture (#12886)
Browse files Browse the repository at this point in the history
  • Loading branch information
foldl authored and Araq committed Dec 21, 2019
1 parent 9b8afd1 commit e1d79d4
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
3 changes: 2 additions & 1 deletion doc/manual.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
---------------
Expand Down
7 changes: 6 additions & 1 deletion lib/system.nim
Original file line number Diff line number Diff line change
Expand Up @@ -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()
Expand Down

0 comments on commit e1d79d4

Please sign in to comment.