Skip to main content

HasPermission

Trait HasPermission 

Source
pub trait HasPermission<Context>: Send + Sync {
    type Error;

    // Required method
    fn has_permission(
        &self,
        context: &Context,
    ) -> impl Future<Output = Result<bool, Self::Error>> + Send;

    // Provided methods
    fn and<R>(self, right: R) -> And<Self, R>
       where Self: Sized,
             R: HasPermission<Context, Error = Self::Error> { ... }
    fn or<R>(self, right: R) -> Or<Self, R>
       where Self: Sized,
             R: HasPermission<Context, Error = Self::Error> { ... }
}

Required Associated Types§

Required Methods§

Source

fn has_permission( &self, context: &Context, ) -> impl Future<Output = Result<bool, Self::Error>> + Send

Provided Methods§

Source

fn and<R>(self, right: R) -> And<Self, R>
where Self: Sized, R: HasPermission<Context, Error = Self::Error>,

Source

fn or<R>(self, right: R) -> Or<Self, R>
where Self: Sized, R: HasPermission<Context, Error = Self::Error>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<Context, L, R> HasPermission<Context> for And<L, R>
where Context: Sync, L: HasPermission<Context>, R: HasPermission<Context, Error = L::Error>,

Source§

type Error = <L as HasPermission<Context>>::Error

Source§

impl<Context, L, R> HasPermission<Context> for Or<L, R>
where Context: Sync, L: HasPermission<Context>, R: HasPermission<Context, Error = L::Error>,

Source§

type Error = <L as HasPermission<Context>>::Error