diff --git a/spec-memory.md b/spec-memory.md index 578dcc11..1220f8f3 100644 --- a/spec-memory.md +++ b/spec-memory.md @@ -501,7 +501,7 @@ rejected: - **Odin's `defer delete`** can be written only where its scope is the whole function. `defer` is function-scoped: it is accepted at the top level of a function body and in a `let` that is itself at the top level, to any depth, - and refused in a branch or a loop body (`check.ml:477`, the `defer_ok` field, + and refused in a branch or a loop body (`check.ml:495`, the `defer_ok` field, and the `Ast.Defer` arm at `check.ml:3661`). So `(defer (free v))` for a `let`-bound `v` works when that `let` is at the top level of the body, and runs at function exit rather than at the end of the `let`. There is no