Skip to main content

ErasedPolicy

Trait ErasedPolicy 

Source
pub(crate) trait ErasedPolicy {
    // Required methods
    fn get_enforced_erased(
        &self,
        organization_id: OrganizationId,
        policies: &[Policy],
        organization_user_policy_contexts: &[OrganizationUserPolicyContext],
    ) -> PolicyDecisionErased;
    fn get_all_enforced_erased(
        &self,
        policies: &[Policy],
        organization_user_policy_contexts: &[OrganizationUserPolicyContext],
    ) -> Vec<PolicyDecisionErased>;
}
Expand description

Object-safe erasure of PolicyDefinition.

PolicyDefinition cannot be used as a trait object because it has an associated Data type. This trait hides that type behind the serializable PolicyDataType, allowing evaluation of a dyn PolicyDefinition.

Required Methods§

Source

fn get_enforced_erased( &self, organization_id: OrganizationId, policies: &[Policy], organization_user_policy_contexts: &[OrganizationUserPolicyContext], ) -> PolicyDecisionErased

Type erased variant of EnforceablePolicy::get_enforced.

Source

fn get_all_enforced_erased( &self, policies: &[Policy], organization_user_policy_contexts: &[OrganizationUserPolicyContext], ) -> Vec<PolicyDecisionErased>

Type erased variant of EnforceablePolicy::get_all_enforced.

Dyn Compatibility§

This trait is dyn compatible.

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

Implementors§