Answer stability round 4: the decision's title backs the loop guarantee alone, item 66 filed

This commit is contained in:
2026-10-04 19:21:11 +02:00
parent 58a9c89dfc
commit 9f23c89719
4 changed files with 18 additions and 11 deletions
+6 -7
View File
@@ -563,15 +563,14 @@ format, as its parser does. A list giving way to the directive form refuses at z
than walking again; counting every list twice halved the list limit, counting the directive form
once doubled the parser's frames per level.
## The guards take what `JSON.parse` or `structuredClone` builds
## No value `JSON.parse` or `structuredClone` builds loops a call
2026-10-04, the maintainer. Goal 1. Valid while every persona hands in a value `JSON.parse`,
`structuredClone` or an object literal builds.
2026-10-04, the maintainer. Goals 1 and 8. Valid while every persona hands in plain data, as
`JSON.parse` or `structuredClone` builds it.
The guarantees speak of plain data: own enumerable keys and plain arrays, cycles and shared objects
included. The guards walk it by `Object.values` and refuse a cycle. An inherited or non-enumerable
key, a getter, a Proxy or a custom iterator is the caller's to rule out: no persona builds one, and
each guarded shape asked for another.
The guards walk a value by `Object.values` and refuse a cycle in it. An inherited or non-enumerable
key, a getter, a Proxy or a custom iterator is the caller's to rule out: no persona builds one.
Goal 8's size counts ADF as JSON, so a shared object costs once per place it is held.
## Nothing spreads an unbounded array