[][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> 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

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

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

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

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

Auto Trait Implementations

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

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

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

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

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

Blanket Implementations

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

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

type Owned = T

The resulting type after obtaining ownership.

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> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<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]