API Reference
Protocols
protocol Borrowed
Marks a nominal value as a non-owning view for lowering and drop analysis.
protocol Owner
Marks a nominal handle as an owner of managed reference-counted storage.
protocol Copy
A value that duplicates freely: using it never moves it. Scalars conform intrinsically; a user type may conform when every field is Copy.
protocol Clone
A buffer-backed value whose clone is an O(1) refcount bump (copy-on-write). Conformance is legal only when every non-Copy field is itself Clone.
protocol Deinit
A destructor run when an owned value is dropped at scope exit. Linear types may not conform: they must be consumed explicitly.
protocol Send
Checked transfer capability (ADR 0050): an owned Send value may safely move to another worker. Conformance is structural by default — an aggregate is Send when every stored component is — and a safe-source claim is validated field-by-field, so it cannot lie. Raw pointers, 'heap references, closures, and non-atomic copy-on-write buffers are not Send; a linear declaration may claim explicitly but never derives automatically.
protocol Sync
Checked share capability (ADR 0050): shared references to a Sync value may safely be used by multiple workers. Sync(T) iff Send(&T). Same structural derivation and claim validation as Send.