From afcc8722e339fbe5d6cb1b58b13c143aaf981821 Mon Sep 17 00:00:00 2001 From: Eric Andrechek Date: Fri, 11 Sep 2026 15:57:53 -0400 Subject: [PATCH] docs(ts): say why Library has no Symbol.dispose, as python.md already does MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue #13 A6 asks whether the missing scope-based release on Library is a divergence to fix or a design to document. It is the latter, and bindings.md §Teardown already carries the full reasoning: a scope-based close on a Library is the mid-lifecycle teardown measured on 2026-08-31 to segfault on the next open, so Python and TypeScript both withhold it from Library alone, on purpose. python.md gained the one-line pointer in #23. ts.md is the other language with the same asymmetry and did not have it, so a reader of ts.md alone still met the surprise with no explanation. Now both say it. No code change: A6 needed confirming and documenting, not fixing. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_018ckJDLjWhAAttQVrYnQEJD --- docs/reference/ts.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/reference/ts.md b/docs/reference/ts.md index 64992b1..056c43d 100644 --- a/docs/reference/ts.md +++ b/docs/reference/ts.md @@ -40,6 +40,8 @@ The two are **peers**. A decline never satisfies `instanceof SchemaError`. | `Library#setDefaultSettings(settings)` | `chs_set_default_settings` | — | `ChtypesError` (refused **wholesale** with 115 + hint; reentrancy; a JS `number` value); `UnsupportedError` | | `Library#shutdown()` | `chs_shutdown` | — | `ChtypesError` (reentrancy); a missing symbol is ignored | +`Registry`, `Schema`, `Filter` and `Block` have `Symbol.dispose`; **`Library` deliberately does not** — see `bindings.md` §Teardown. A `using library` closes at the end of a block, which is precisely the mid-lifecycle close that is measured to segfault on the next open. + ## Schema | Symbol | C function | Params | Returns | Errors |