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
This allows us to disallow dereferences and pointer indexing on
sealed capabilities at compile time.
Builtins that introspect capabilities can all work on a sealed or
unsealed capability.
Builtins that mutate capabilities are all disallowed on sealed
capabilities, with the exception of clear-tag (which works on sealed or
unsealed things).
Reinterpret cast and C-style (explicit) casts are allowed. Anyone who
does an explicit unsafe cast should know what they're doing *anyway*
this is another case of that.
Implicit casts are also permitted to `void*`. This avoids needing new
overloads for things that treat `void*` as opaque values. Casting back
from `void*` to something useful already requires a dangerous explicit
cast and you should know what you're doing if you do that.
Also adds a __has_extension check for the sealed type qualifier.
Co-authored-by: Owen Anderson <[email protected]>
0 commit comments