Skip to main content

OneOfTuple2

Struct OneOfTuple2 

Source
pub struct OneOfTuple2<A, B> { /* private fields */ }
Expand description

Tries first; only if it fails, tries second. The overall extensions claimed are the intersection of both sub-policies’ claims (a critical extension is only “handled” here if BOTH sub-policies would have handled it), deliberately asymmetric with Tuple2, which unions its extensions. Intersection is required here because an extension is only safely ignorable if every alternative would have handled it.

Implementations§

Source§

impl<A, B> OneOfTuple2<A, B>

Source

pub fn new(first: A, second: B) -> Self

Trait Implementations§

Source§

impl<A: ValidationPolicy, B: ValidationPolicy> ValidationPolicy for OneOfTuple2<A, B>

Source§

fn verifying_critical_extensions(&self) -> Vec<Oid<'static>>

The X.509 extension types that this policy understands and enforces. Read more
Source§

fn chain_meets_policy_requirements( &self, chain: &UnverifiedCertificateChain<'_>, ) -> PolicyEvaluationResult

Called to determine whether a given UnverifiedCertificateChain meets the requirements of this policy. Read more

Auto Trait Implementations§

§

impl<A, B> Freeze for OneOfTuple2<A, B>
where A: Freeze, B: Freeze,

§

impl<A, B> RefUnwindSafe for OneOfTuple2<A, B>

§

impl<A, B> Send for OneOfTuple2<A, B>
where A: Send, B: Send,

§

impl<A, B> Sync for OneOfTuple2<A, B>
where A: Sync, B: Sync,

§

impl<A, B> Unpin for OneOfTuple2<A, B>
where A: Unpin, B: Unpin,

§

impl<A, B> UnsafeUnpin for OneOfTuple2<A, B>
where A: UnsafeUnpin, B: UnsafeUnpin,

§

impl<A, B> UnwindSafe for OneOfTuple2<A, B>
where A: UnwindSafe, B: UnwindSafe,

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<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

Source§

fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

Source§

impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

Source§

fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.