#[permission]Expand description
Defines a user-defined permission type for capability-based security.
Generates the Permission trait impl (with seal token), Has<P> impls for
Cap<P> and SendCap<P>, and optionally Subsumes impls for permission hierarchies.
§Usage
ⓘ
#[capsec::permission]
pub struct DbRead;
#[capsec::permission]
pub struct DbWrite;
#[capsec::permission(subsumes = [DbRead, DbWrite])]
pub struct DbAll;§What it generates
For #[capsec::permission] pub struct DbRead;:
impl Permission for DbReadwith the seal tokenimpl Has<DbRead> for Cap<DbRead>impl Has<DbRead> for SendCap<DbRead>
For #[capsec::permission(subsumes = [DbRead, DbWrite])] pub struct DbAll;:
- All of the above, plus:
impl Subsumes<DbRead> for DbAllimpl Has<DbRead> for Cap<DbAll>andSendCap<DbAll>- Same for
DbWrite