pub fn from<F, A>(v: &mut T, f: F) -> A
    where
        F: FnOnce(RefMut<'_, T>) -> A,
    {
        Self::new(|mut s| {
            unsafe { v.copy_and_zero(s.borrow_mut()) };
            f(s)
        })
    }
/// Creates a new [`Secret`] from existing, unprotected data, and
/// immediately zeroes out the memory of the data being moved in.
/// ```
/// # use runtime::Secret;
/// let mut value = [1u8, 2u8];
///
/// // the contents of `value` will be copied into the Secret before
/// // being zeroed out
/// Secret::from(&mut value, |s| {
///     assert_eq!(*s, [1, 2]);
/// });
///
/// // the contents of `value` have been zeroed
/// assert_eq!(value, [0, 0]);
/// ```
Creates a new [`Secret`] from existing, unprotected data, and
immediately zeroes out the memory of the data being moved in.
Creates a new [ ` Secret ` ] from existing unprotected data and immediately zeroes out the memory of the data being moved in .
pub fn from<F, A>(v: &mut T, f: F) -> A
    where
        F: FnOnce(RefMut<'_, T>) -> A,
    {
        Self::new(|mut s| {
            unsafe { v.copy_and_zero(s.borrow_mut()) };
            f(s)
        })
    }
pub fn from < F , A > ( v : & mut T , f : F ) -> A where F : FnOnce ( RefMut < ' _ , T > ) -> A , { Self :: new ( | mut s | { unsafe { v . copy_and_zero ( s . borrow_mut ( ) ) } ; f ( s ) } ) }
Creates a new [`Secret`] from existing, unprotected data, and
immediately zeroes out the memory of the data being moved in.
Creates a new [ ` Secret ` ] from existing unprotected data and immediately zeroes out the memory of the data being moved in .
v
&mut T
f
F
v
&mut T
f
F
use runtime::secret;


the contents of `value` will be copied into the Secret before
being zeroed out
Secret::from(&mut value, |s| {
assert_eq!(*s, [1, 2]);
}).

the contents of `value` have been zeroed
assert_eq!(value, [0, 0]);
```
the contents of ` value ` will be copied into the Secret before being zeroed out Secret :: from ( &mut value |s| { assert_eq! ( * s [ 1 2 ] ) ; } ) . the contents of ` value ` have been zeroed assert_eq! ( value [ 0 0 ] ) ; ` ` `