mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-14 15:23:27 +00:00
Stricter signature for countdown/countup (#8549)
This commit is contained in:
committed by
Andreas Rumpf
parent
c3d5ec8ead
commit
9b9cfa7306
@@ -1978,7 +1978,7 @@ when sizeof(int) <= 2:
|
||||
else:
|
||||
type IntLikeForCount = int|int8|int16|int32|char|bool|uint8|uint16|enum
|
||||
|
||||
iterator countdown*[T](a, b: T, step = 1): T {.inline.} =
|
||||
iterator countdown*[T](a, b: T, step: Positive = 1): T {.inline.} =
|
||||
## Counts from ordinal value `a` down to `b` (inclusive) with the given
|
||||
## step count. `T` may be any ordinal type, `step` may only
|
||||
## be positive. **Note**: This fails to count to ``low(int)`` if T = int for
|
||||
@@ -2001,7 +2001,7 @@ iterator countdown*[T](a, b: T, step = 1): T {.inline.} =
|
||||
dec(res, step)
|
||||
|
||||
when defined(nimNewRoof):
|
||||
iterator countup*[T](a, b: T, step = 1): T {.inline.} =
|
||||
iterator countup*[T](a, b: T, step: Positive = 1): T {.inline.} =
|
||||
## Counts from ordinal value `a` up to `b` (inclusive) with the given
|
||||
## step count. `S`, `T` may be any ordinal type, `step` may only
|
||||
## be positive. **Note**: This fails to count to ``high(int)`` if T = int for
|
||||
@@ -2018,7 +2018,7 @@ when defined(nimNewRoof):
|
||||
inc(res, step)
|
||||
|
||||
iterator `..`*[T](a, b: T): T {.inline.} =
|
||||
## An alias for `countup`.
|
||||
## An alias for `countup(a, b, 1)`.
|
||||
when T is IntLikeForCount:
|
||||
var res = int(a)
|
||||
while res <= int(b):
|
||||
|
||||
Reference in New Issue
Block a user