Repository navigation
Commit 49df8a6
committed
fix: validate the amount in Interval.range
A zero amount made range() yield the same start value forever: the
advance step add(**{unit: i}) with i == 0 never moves, so the loop
condition start <= end never turns false and any consuming for-loop
hangs. A negative amount runs away from the stated end in the opposite
direction, unbounded, for the same missing-validation reason.
Reject non-positive amounts with ValueError, matching the documented
direction handling (the direction itself is applied via add/subtract
and le/ge, so the step magnitude must be positive in both directions).
Fixes #1080
Co-authored-by: rahul05ranjan <11793455+rahul05ranjan@users.noreply.github.com>1 parent e06dace commit 49df8a6
3 files changed
Lines changed: 23 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
3 | 8 | | |
4 | 9 | | |
5 | 10 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
288 | 288 | | |
289 | 289 | | |
290 | 290 | | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
291 | 295 | | |
292 | 296 | | |
293 | 297 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
| 3 | + | |
| 4 | + | |
3 | 5 | | |
4 | 6 | | |
5 | 7 | | |
| |||
117 | 119 | | |
118 | 120 | | |
119 | 121 | | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
0 commit comments