diff options
-rw-r--r-- | lib/system.nim | 6 | ||||
-rw-r--r-- | tests/array/troof1.nim | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/lib/system.nim b/lib/system.nim index b15cb16f0..955159c2e 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -3531,11 +3531,11 @@ proc `[]`*[Idx, T](a: array[Idx, T]; i: BackwardsIndex): T = a[Idx(a.len - int(i) + int low(a))] proc `[]`*(s: string; i: BackwardsIndex): char = s[s.len - int(i)] -proc `[]`*[T](s: var seq[T]; i: BackwardsIndex; x: T) = +proc `[]=`*[T](s: var seq[T]; i: BackwardsIndex; x: T) = s[s.len - int(i)] = x -proc `[]`*[Idx, T](a: var array[Idx, T]; i: BackwardsIndex; x: T) = +proc `[]=`*[Idx, T](a: var array[Idx, T]; i: BackwardsIndex; x: T) = a[Idx(a.len - int(i) + int low(a))] = x -proc `[]`*(s: var string; i: BackwardsIndex; x: char) = +proc `[]=`*(s: var string; i: BackwardsIndex; x: char) = s[s.len - int(i)] = x proc slurp*(filename: string): string {.magic: "Slurp".} diff --git a/tests/array/troof1.nim b/tests/array/troof1.nim index 9df012e6a..2c993ca22 100644 --- a/tests/array/troof1.nim +++ b/tests/array/troof1.nim @@ -9,3 +9,5 @@ var a = @[1, 2, 3, 4] var b: array[3, array[2, float]] = [[1.0,2], [3.0,4], [8.0,9]] echo a[1.. ^1], a[^2], a[^3], a[^4] echo b[^1][^1], " ", (b[^2]).foo(b[^1])[^1] + +b[^1] = [8.8, 8.9] |