Skip to main content

WalletCard

Enum WalletCard 

Source
pub enum WalletCard {
    Concrete(PermissionCard),
    Template(PolymorphicPermissionCard),
    Scope(ScopeCard),
}
Expand description

A card in the caller’s wallet, labelled with its kind.

The three cases hold three distinct card types, and this module offers no conversion between them.

Variants§

§

Concrete(PermissionCard)

A concrete card: every grant names concrete owners and resources.

§

Template(PolymorphicPermissionCard)

A template card: its grants may contain slot variables (?agent, ?env, …), which resolve for each holder.

§

Scope(ScopeCard)

The scope card lent to the current invocation. The host lists it only if the agent holds card:inspect, and retires it when the invocation ends.

Implementations§

Source§

impl WalletCard

Source

pub fn id(&self) -> CardId

The identifier of this card.

§Panics

Panics if the card was moved. The host traps if the card was revoked or is unknown.

Trait Implementations§

Source§

impl Debug for WalletCard

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a> From<&'a WalletCard> for ScopeParent<'a>

Source§

fn from(card: &'a WalletCard) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Resource for T
where T: 'static,

Source§

type Rep = Option<T>

The type which is actually stored in-memory for this resource. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> TupleOrUnit<()> for T

Source§

fn into(self)