1
- proc succ* [T: Ordinal](x: T, y: int = 1): T {.magic: "Succ", noSideEffect.} =
1
+ proc succ* [T, V : Ordinal](x: T, y: V = 1): T {.magic: "Succ", noSideEffect.} =
2
2
## Returns the `y`-th successor (default: 1) of the value `x`.
3
3
##
4
4
## If such a value does not exist, `OverflowDefect` is raised
@@ -7,7 +7,7 @@ proc succ*[T: Ordinal](x: T, y: int = 1): T {.magic: "Succ", noSideEffect.} =
7
7
assert succ(5) == 6
8
8
assert succ(5, 3) == 8
9
9
10
- proc pred*[T: Ordinal](x: T, y: int = 1): T {.magic: "Pred", noSideEffect.} =
10
+ proc pred*[T, V : Ordinal](x: T, y: V = 1): T {.magic: "Pred", noSideEffect.} =
11
11
## Returns the `y`-th predecessor (default: 1) of the value `x`.
12
12
##
13
13
## If such a value does not exist, `OverflowDefect` is raised
@@ -16,7 +16,7 @@ proc pred*[T: Ordinal](x: T, y: int = 1): T {.magic: "Pred", noSideEffect.} =
16
16
assert pred(5) == 4
17
17
assert pred(5, 3) == 2
18
18
19
- proc inc*[T: Ordinal](x: var T, y: int = 1) {.magic: "Inc", noSideEffect.} =
19
+ proc inc*[T, V : Ordinal](x: var T, y: V = 1) {.magic: "Inc", noSideEffect.} =
20
20
## Increments the ordinal `x` by `y`.
21
21
##
22
22
## If such a value does not exist, `OverflowDefect` is raised or a compile
@@ -28,7 +28,7 @@ proc inc*[T: Ordinal](x: var T, y: int = 1) {.magic: "Inc", noSideEffect.} =
28
28
inc(i, 3)
29
29
assert i == 6
30
30
31
- proc dec*[T: Ordinal](x: var T, y: int = 1) {.magic: "Dec", noSideEffect.} =
31
+ proc dec*[T, V : Ordinal](x: var T, y: V = 1) {.magic: "Dec", noSideEffect.} =
32
32
## Decrements the ordinal `x` by `y`.
33
33
##
34
34
## If such a value does not exist, `OverflowDefect` is raised or a compile
0 commit comments