Four absent builtins, and one that is not a builtin
Re-filed from [[bug-nilpy-builtin-surface-gaps-found-by-the-2026-08-12-sweep]] when that ticket closed. It turned one sweep into eleven landed builtins; this is what nobody reached for.
| name | status | note |
|---|---|---|
slice(1, 3) |
undefined variable (slice) |
the slicing SYNTAX works fully; only the object is missing |
dir(x) |
undefined variable (dir) |
RTTI has the members — this is a listing, not new information |
vars() |
undefined variable (vars) |
wants a real __dict__, which instances do not have |
memoryview(b) |
undefined variable (memoryview) |
a zero-copy view over TPyBytes |
complex(1, 2) |
no complex TYPE at all | not a missing builtin — see below |
complex is a feature, not a name
The other four are routines with nowhere to live. complex is a numeric type
this dialect does not have: adding the name without the arithmetic, the repr,
the .real/.imag and the coercion rules would be worse than its absence. If
anyone wants it, it is its own feature ticket, not a row here.
Why this is prio 20
Measured across the html5lib ladder (webencodings, tinycss2, html5lib, 58
files) and the earlier corpus scans: none of these names appears as a wall.
They are here so the sweep's record is complete, not because anything is blocked.
Take them if one turns up in a real program — that is the signal this list is
waiting for.
Gate
Per name as it lands: a .npy diffed against CPython, plus a row asserting a
user def slice / def dir still shadows the builtin, which is Python's rule
and the pattern every intercept in this family already follows.