[][src]Struct abscissa_core::Secret

pub struct Secret<S> where
    S: Zeroize
{ /* fields omitted */ }

Wrapper type for values that contains secrets, which attempts to limit accidental exposure and ensure secrets are wiped from memory when dropped. (e.g. passwords, cryptographic keys, access tokens or other credentials)

Access to the secret inner value occurs through the ExposeSecret trait, which provides an expose_secret() method for accessing the inner secret value.

Methods

impl<S> Secret<S> where
    S: Zeroize
[src]

pub fn new(secret: S) -> Secret<S>[src]

Take ownership of a secret value

Trait Implementations

impl<S> Drop for Secret<S> where
    S: Zeroize
[src]

impl<S> ExposeSecret<S> for Secret<S> where
    S: Zeroize
[src]

impl<S> Debug for Secret<S> where
    S: Zeroize + DebugSecret
[src]

impl<'de, S> Deserialize<'de> for Secret<S> where
    S: Zeroize + Clone + DebugSecret + DeserializeOwned
[src]

impl<S> Clone for Secret<S> where
    S: CloneableSecret
[src]

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl<S> Sync for Secret<S> where
    S: Sync

impl<S> Send for Secret<S> where
    S: Send

impl<S> Unpin for Secret<S> where
    S: Unpin

impl<S> RefUnwindSafe for Secret<S> where
    S: RefUnwindSafe

impl<S> UnwindSafe for Secret<S> where
    S: UnwindSafe

Blanket Implementations

impl<T> AsAny for T where
    T: Any
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]