Skip to content

Commit 8ad809b

Browse files
eendebakptclaude
andcommitted
Remove dead _one_shot parameter from _make_iterencode
On main, _one_shot=True in iterencode() selected the C encoder path via "if _one_shot and c_make_encoder is not None". On this branch the C path is always taken when available, so _one_shot never controls anything. _make_iterencode always returned _iterencode_once regardless of _one_shot, so the parameter was dead there too. Remove it. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 319f666 commit 8ad809b

1 file changed

Lines changed: 2 additions & 4 deletions

File tree

Lib/json/encoder.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -243,8 +243,6 @@ def iterencode(self, o, _one_shot=False):
243243
else:
244244
indent = ' ' * self.indent
245245
if c_make_encoder is not None:
246-
# _one_shot is irrelevant on the C path: the C iterator has no
247-
# mutually-recursive closure cycles to break.
248246
_iterencode = c_make_encoder(
249247
markers, self.default, _encoder, indent,
250248
self.key_separator, self.item_separator, self.sort_keys,
@@ -276,11 +274,11 @@ def floatstr(o, allow_nan=self.allow_nan,
276274
_iterencode = _make_iterencode(
277275
markers, self.default, _encoder, indent, floatstr,
278276
self.key_separator, self.item_separator, self.sort_keys,
279-
self.skipkeys, _one_shot)
277+
self.skipkeys)
280278
return _iterencode(o, 0)
281279

282280
def _make_iterencode(markers, _default, _encoder, _indent, _floatstr,
283-
_key_separator, _item_separator, _sort_keys, _skipkeys, _one_shot,
281+
_key_separator, _item_separator, _sort_keys, _skipkeys,
284282
):
285283

286284
def _iterencode_list(lst, _current_indent_level):

0 commit comments

Comments
 (0)