Skip to content

Commit b221cef

Browse files
Technologicatclaude
andcommitted
move D4 set 3 to GitHub issue #98; remove resolved D7
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 6aa72ea commit b221cef

1 file changed

Lines changed: 0 additions & 13 deletions

File tree

TODO_DEFERRED.md

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,6 @@
22

33
Next unused item code: D8
44

5-
- **D4**: `typecheck.py` — expand runtime type checker to support more `typing` features.
6-
7-
**Set 1 — Easy wins**: DONE (`665cc4b`)
8-
**Set 2 — Useful for dispatch**: DONE (this commit)
9-
- `NamedTuple`: specific subclasses already work via `isinstance` fallback; no special handling needed.
10-
**Dispatch integration tests** for Sets 1 and 2: DONE (this commit)
11-
12-
**Set 3 — Hard / questionable value** (defer or discuss):
13-
- `Protocol` — full structural subtyping, heavy
14-
- `TypedDict` — required vs. optional keys, medium-hard
15-
- `Generic` — abstract, unclear semantics for value checking
16-
- `ForwardRef` — needs a namespace to resolve the string
17-
185
- **D5**: `typecheck.py` / `dispatch.py` — parametric forms of existing one-trick ponies (e.g. `Iterator[int]`, `Iterable[str]`) raise `NotImplementedError`. The bare forms work. The `NotImplementedError` is arguably correct fail-fast behavior, since ignoring the type arg would silently accept wrong element types and make dispatching on e.g. `Iterable[int]` vs. `Iterable[float]` silently misroute. Same situation already exists for `Callable`, `Generator`, `ContextManager`, and async types. Possible improvements (dispatch layer, not typecheck):
196
- Emit a warning when a type arg is silently ignored during dispatch.
207
- Raise `TypeError` when registering indistinguishable multimethods (e.g. `Iterable[int]` then `Iterable[float]`).

0 commit comments

Comments
 (0)