A field marked @owns(PhysShape) holds a handle its record owns. A function that releases one owned field of a record (body_free(w, s.body)) and neither releases nor hands on another owned field of the same record type (s.shape) gives the first back and loses the second - the phys_remove bug, at compile time. ludic deps --resources (or --owned) lists them; owned_leaks is a number --check ratchets. A test: the function that frees a solid's body alone is the one found; the one that frees both is not. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ci | ||
| docgen | ||
| editors | ||
| git-hooks | ||
| lab | ||
| ludic-cli | ||
| ludic-tools | ||
| ludic-web | ||
| migrate | ||
| native | ||
| atlas.ludic | ||
| test-grammar.js | ||