agra
8c47268539
fix: xx pack[i] to a protocol target heap-copies the element
...
Erasing a single comptime-pack element to a protocol value
(`xx sources[0]` with a protocol target) tripped the pack-as-value
error: buildProtocolErasure treated the index_expr as an lvalue and
took its address via lowerExprAsPtr, whose .index_expr arm lowers the
bare pack as a value (a pack is comptime-only with no runtime storage).
isLvalueExpr now reports a comptime pack index as an rvalue, decided
via the same packArgNodeAt predicate the value path uses — so the value
and lvalue paths can't diverge on what counts as a pack element — and
erasure heap-copies the already-materialized element instead.
Resolves issue 0135. Regression tests: examples/0547, 0548.
2026-06-13 18:55:10 +03:00
..
2026-06-01 19:38:09 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-05-27 21:29:08 +03:00
2026-05-27 21:44:39 +03:00
2026-05-30 01:16:09 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-01 16:47:51 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-04 02:00:13 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-05 01:32:35 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-04 17:04:41 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-05 20:48:49 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 12:35:20 +03:00
2026-06-05 23:33:22 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-06 16:41:01 +03:00
2026-06-12 09:31:53 +03:00
2026-06-09 22:16:47 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 09:31:53 +03:00
2026-06-12 14:13:01 +03:00
2026-06-12 13:36:54 +03:00
2026-06-12 15:59:36 +03:00
2026-06-12 21:52:11 +03:00
2026-06-13 15:44:11 +03:00
2026-06-13 13:41:30 +03:00
2026-06-13 13:41:30 +03:00
2026-06-13 13:41:30 +03:00
2026-06-13 13:41:30 +03:00
2026-06-13 18:55:10 +03:00