Stricter signature for countdown/countup (#8549)
This commit is contained in:
parent
c3d5ec8ead
commit
9b9cfa7306
1 changed files with 3 additions and 3 deletions
|
|
@ -1978,7 +1978,7 @@ when sizeof(int) <= 2:
|
||||||
else:
|
else:
|
||||||
type IntLikeForCount = int|int8|int16|int32|char|bool|uint8|uint16|enum
|
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
|
## Counts from ordinal value `a` down to `b` (inclusive) with the given
|
||||||
## step count. `T` may be any ordinal type, `step` may only
|
## 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
|
## 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)
|
dec(res, step)
|
||||||
|
|
||||||
when defined(nimNewRoof):
|
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
|
## Counts from ordinal value `a` up to `b` (inclusive) with the given
|
||||||
## step count. `S`, `T` may be any ordinal type, `step` may only
|
## 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
|
## be positive. **Note**: This fails to count to ``high(int)`` if T = int for
|
||||||
|
|
@ -2018,7 +2018,7 @@ when defined(nimNewRoof):
|
||||||
inc(res, step)
|
inc(res, step)
|
||||||
|
|
||||||
iterator `..`*[T](a, b: T): T {.inline.} =
|
iterator `..`*[T](a, b: T): T {.inline.} =
|
||||||
## An alias for `countup`.
|
## An alias for `countup(a, b, 1)`.
|
||||||
when T is IntLikeForCount:
|
when T is IntLikeForCount:
|
||||||
var res = int(a)
|
var res = int(a)
|
||||||
while res <= int(b):
|
while res <= int(b):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue