mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 02:12:11 +00:00
Remove double punctuation. Change "contrained" wording to "constraint".
This commit is contained in:
@@ -539,7 +539,7 @@ Closure iterators have other restrictions than inline iterators:
|
||||
1. ``yield`` in a closure iterator can not occur in a ``try`` statement.
|
||||
2. For now, a closure iterator cannot be evaluated at compile time.
|
||||
3. ``return`` is allowed in a closure iterator (but rarely useful) and ends
|
||||
iteration..
|
||||
iteration.
|
||||
4. Neither inline nor closure iterators can be recursive.
|
||||
|
||||
Iterators that are neither marked ``{.closure.}`` nor ``{.inline.}`` explicitly
|
||||
|
||||
@@ -43,8 +43,9 @@ Fortunately Nim supports side effect analysis:
|
||||
|
||||
echo f() * 2 # not optimized ;-)
|
||||
|
||||
You can make one overload for constrained match and without, and the constrained
|
||||
will be prioritized, and so you can handle both cases differently.
|
||||
You can make one overload matching with a constraint and one without, and the
|
||||
one with a constraint will have precedence, and so you can handle both cases
|
||||
differently.
|
||||
|
||||
So what about ``2 * a``? We should tell the compiler ``*`` is commutative. We
|
||||
cannot really do that however as the following code only swaps arguments
|
||||
|
||||
Reference in New Issue
Block a user