Skip to content

Commit ebc42e2

Browse files
committed
Fix AOT __setitem__ raising not implemented
1 parent 1a3085c commit ebc42e2

File tree

2 files changed

+11
-1
lines changed

2 files changed

+11
-1
lines changed

tests/test_items.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,14 @@ def test_aot_unwrap():
128128
assert_is_ppo(ku, str)
129129
assert_is_ppo(vu, str)
130130

131+
def test_aot_set_item():
132+
d = item(["A", {"b": "B"}])
133+
d[0] = "C"
134+
assert d[0] == "C"
135+
d[1]["b"] = "D"
136+
assert d[1]["b"] == "D"
137+
d[0] = {"c": "C"}
138+
assert d[0]["c"] == "C"
131139

132140
def test_time_unwrap():
133141
t = time(3, 8, 14)
@@ -1019,3 +1027,5 @@ def test_removal_of_arrayitem_with_extra_whitespace():
10191027
docstr = doc.as_string()
10201028
parse(docstr)
10211029
assert docstr == expected
1030+
1031+

tomlkit/items.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1885,7 +1885,7 @@ def __getitem__(self, key):
18851885
return self._body[key]
18861886

18871887
def __setitem__(self, key: slice | int, value: Any) -> None:
1888-
raise NotImplementedError
1888+
self._body[key] = item(value, _parent=self)
18891889

18901890
def __delitem__(self, key: slice | int) -> None:
18911891
del self._body[key]

0 commit comments

Comments
 (0)