@@ -66,10 +66,14 @@ template genMutableSequenceMethods*(mapper, unmapper, S, Ele, beforeAppend){.dir
6666
6767 `impl S Magic` iadd, [mutable: write]: self.extend other
6868
69+
70+ proc `[]=` * (self: `Py S Object`; i: int , v: Ele ){.inline .} = self.items[i] = v
71+ proc `[]=` * (self: `Py S Object`; i: HSlice , v: seq [Ele ]){.inline .} = self.items[i] = v
72+
6973 `impl S Magic` setitem, [mutable: write]:
7074 if arg1.ofPyIntObject:
7175 let idx = getIndex (PyIntObject (arg1), self.len)
72- self.items [idx] = arg2.mapper
76+ self[idx] = arg2.mapper
7377 return pyNone
7478 if ofPySliceObject (arg1):
7579 let slice = PySliceObject (arg1)
@@ -82,7 +86,7 @@ template genMutableSequenceMethods*(mapper, unmapper, S, Ele, beforeAppend){.dir
8286 var ls: seq [Ele ]
8387 pyForIn it, iterableToLoop:
8488 ls.add it.mapper
85- self.items [nslice] = ls
89+ self[nslice] = ls
8690 else :
8791 let (iterable , nextMethod) = getIterableWithCheck (iterableToLoop)
8892 if iterable .isThrownException:
@@ -93,7 +97,7 @@ template genMutableSequenceMethods*(mapper, unmapper, S, Ele, beforeAppend){.dir
9397 break
9498 if it.isThrownException:
9599 return it
96- self.items [i] = it.mapper
100+ self[i] = it.mapper
97101 return pyNone
98102 return newIndexTypeError (newPyAscii " list" , arg1)
99103
0 commit comments