Files
ViperC/App
TermiNexus 5a0d61a163 feat(gen): l[i] = v extends the list to include i
Element stores used to be a raw inline store, so a list filled with
`l[i] = array[i]` kept `__count__` at 0: `len()` was 0 and sorting/
iteration loops did nothing even though the raw slots held the data.

- `l[i] = v` and `l.set(i, v)` now call the real `list.set`
  (`_emit_list_set_call`), the same route `append` already uses for
  capacity/reallocation;
- `_list.set` grows the data buffer when `i >= capacity` (double, or
  `i + 1` for a far index), copies the live prefix, and sets
  `__count__ = i + 1` when `i >= count`; writing an existing index does
  not change the count;
- remove the duplicated inline set logic from the subscript path and
  both list-builtin branches.

Probe: `a[2] = 9` -> len 3; `a[20] = 7` -> len 21 and a[20] = 7;
`b[1] = "x"` -> len 2; the reporting project now sorts and prints
1 2 5 5 6 9; self-host 110/110; ListTest, GenericTest3, PtrOpProbe and
HashLibTest pass.
2026-11-02 11:34:48 +08:00
..