fix(codegen): evaluate and release len temporaries #62

Merged
rdenadai merged 1 commit from fix/codegen-len-temporary into main 2026-10-06 19:38:50 +00:00
Owner

Summary

len now evaluates array expressions even when their length is known statically, preserving initializer side effects. It also releases temporary arrays, lists, and strings after reading their length while leaving borrowed values owned by their bindings.

Regression coverage checks array initializer side effects, borrowed array use after len, and release calls for temporary managed values. The built-ins example now demonstrates these behaviors.

Tests

  • Ruff format and lint checks
  • Full test suite: 2742 passed, 1 skipped, 35 xfailed
  • Native built-ins tests: 100 passed
## Summary `len` now evaluates array expressions even when their length is known statically, preserving initializer side effects. It also releases temporary arrays, lists, and strings after reading their length while leaving borrowed values owned by their bindings. Regression coverage checks array initializer side effects, borrowed array use after `len`, and release calls for temporary managed values. The built-ins example now demonstrates these behaviors. ## Tests - Ruff format and lint checks - Full test suite: 2742 passed, 1 skipped, 35 xfailed - Native built-ins tests: 100 passed
fix(codegen): evaluate and release len temporaries
All checks were successful
Sigil / test (3.13) (pull_request) Successful in 8m40s
347a85633b
Preserve side effects when array length is known statically and release managed values created only for a length query.
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
rdenadai/sigil!62
No description provided.