You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit 086d0ed
Browse filesBrowse the repository at this point in the historyBrowse files
-mm=own: calls in a global's initializer get their callees' facts
A global's region is no function: the signature pass pinned no facts on
its calls and the inference never runs there, so a call was read with the
defaults, an owned result and borrowed arguments.
- `const c = child(n)` (child returns `n.c`), or `id(new V(1))`, made the
global own a block its argument's owner keeps, or one the region freed:
heap corruption, or a stale read under --opt. Now an error: a global
cannot hold a borrow.
- `const n = new N(new V(4))`, the constructor keeping `c`, released the
`V` at the end of the region under the object that kept it. A kept
argument made in the region and used by nothing after the call now moves
into the callee (its release goes); a literal is given as it is; any
other kept argument is an error.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
0 commit comments