[−][src]Trait ssb_crypto::FromBytes
Types for which any byte pattern is valid.
WARNING: Do not implement this trait yourself! Instead, use
#[derive(FromBytes)]
.
FromBytes
types can safely be deserialized from an untrusted sequence of
bytes because any byte sequence corresponds to a valid instance of the type.
FromBytes
is ignorant of byte order. For byte order-aware types, see the
byteorder
module.
Safety
If T: FromBytes
, then unsafe code may assume that it is sound to treat any
initialized sequence of bytes of length size_of::<T>()
as a T
. If a type
is marked as FromBytes
which violates this contract, it may cause
undefined behavior.
If a type has the following properties, then it is safe to implement
FromBytes
for that type:
- If the type is a struct:
- All of its fields must implement
FromBytes
- All of its fields must implement
- If the type is an enum:
- It must be a C-like enum (meaning that all variants have no fields)
- It must have a defined representation (
repr
sC
,u8
,u16
,u32
,u64
,usize
,i8
,i16
,i32
,i64
, orisize
). - The maximum number of discriminants must be used (so that every possible
bit pattern is a valid one). Be very careful when using the
C
,usize
, orisize
representations, as their size is platform-dependent.
Rationale
Why isn't an explicit representation required for structs?
Per the Rust reference,
The representation of a type can change the padding between fields, but does not change the layout of the fields themselves.
Since the layout of structs only consists of padding bytes and field bytes,
a struct is soundly FromBytes
if:
- its padding is soundly
FromBytes
, and - its fields are soundly
FromBytes
.
The answer to the first question is always yes: padding bytes do not have any validity constraints. A discussion of this question in the Unsafe Code Guidelines Working Group concluded that it would be virtually unimaginable for future versions of rustc to add validity constraints to padding bytes.
Whether a struct is soundly FromBytes
therefore solely depends on whether
its fields are FromBytes
.
Implementations on Foreign Types
impl<O> FromBytes for I128<O> where
O: ByteOrder,
PhantomData<O>: FromBytes,
[src]
O: ByteOrder,
PhantomData<O>: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
I128<O>: Sized,
[src]
I128<O>: Sized,
impl FromBytes for usize
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
usize: Sized,
[src]
usize: Sized,
impl<T> FromBytes for [T; 20] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 20]: Sized,
[src]
[T; 20]: Sized,
impl<T> FromBytes for [T; 98] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 98]: Sized,
[src]
[T; 98]: Sized,
impl<T> FromBytes for [T; 48] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 48]: Sized,
[src]
[T; 48]: Sized,
impl<T> FromBytes for [T; 57] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 57]: Sized,
[src]
[T; 57]: Sized,
impl<T> FromBytes for [T; 4096] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 4096]: Sized,
[src]
[T; 4096]: Sized,
impl FromBytes for u64
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
u64: Sized,
[src]
u64: Sized,
impl<T> FromBytes for [T; 255] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 255]: Sized,
[src]
[T; 255]: Sized,
impl<T> FromBytes for [T; 33] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 33]: Sized,
[src]
[T; 33]: Sized,
impl<T> FromBytes for [T; 8192] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 8192]: Sized,
[src]
[T; 8192]: Sized,
impl FromBytes for u16
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
u16: Sized,
[src]
u16: Sized,
impl<T> FromBytes for [T; 65536] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 65536]: Sized,
[src]
[T; 65536]: Sized,
impl FromBytes for u32
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
u32: Sized,
[src]
u32: Sized,
impl<T> FromBytes for [T; 4] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 4]: Sized,
[src]
[T; 4]: Sized,
impl FromBytes for i64
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
i64: Sized,
[src]
i64: Sized,
impl<T> FromBytes for [T; 8] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 8]: Sized,
[src]
[T; 8]: Sized,
impl<T> FromBytes for [T; 16384] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 16384]: Sized,
[src]
[T; 16384]: Sized,
impl<T> FromBytes for [T; 256] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 256]: Sized,
[src]
[T; 256]: Sized,
impl<T> FromBytes for [T; 50] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 50]: Sized,
[src]
[T; 50]: Sized,
impl FromBytes for i128
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
i128: Sized,
[src]
i128: Sized,
impl<O> FromBytes for U16<O> where
O: ByteOrder,
PhantomData<O>: FromBytes,
[src]
O: ByteOrder,
PhantomData<O>: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
U16<O>: Sized,
[src]
U16<O>: Sized,
impl<T> FromBytes for [T; 45] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 45]: Sized,
[src]
[T; 45]: Sized,
impl<T> FromBytes for [T; 12] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 12]: Sized,
[src]
[T; 12]: Sized,
impl<T> FromBytes for [T; 17] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 17]: Sized,
[src]
[T; 17]: Sized,
impl<T> FromBytes for [T; 44] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 44]: Sized,
[src]
[T; 44]: Sized,
impl<T> FromBytes for [T; 0] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 0]: Sized,
[src]
[T; 0]: Sized,
impl<T> FromBytes for [T; 27] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 27]: Sized,
[src]
[T; 27]: Sized,
impl<O> FromBytes for U64<O> where
O: ByteOrder,
PhantomData<O>: FromBytes,
[src]
O: ByteOrder,
PhantomData<O>: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
U64<O>: Sized,
[src]
U64<O>: Sized,
impl<T> FromBytes for [T; 128] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 128]: Sized,
[src]
[T; 128]: Sized,
impl<T> FromBytes for [T; 53] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 53]: Sized,
[src]
[T; 53]: Sized,
impl<T> FromBytes for [T; 61] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 61]: Sized,
[src]
[T; 61]: Sized,
impl<T> FromBytes for [T; 22] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 22]: Sized,
[src]
[T; 22]: Sized,
impl<T> FromBytes for [T; 51] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 51]: Sized,
[src]
[T; 51]: Sized,
impl FromBytes for u8
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
u8: Sized,
[src]
u8: Sized,
impl<O> FromBytes for I16<O> where
O: ByteOrder,
PhantomData<O>: FromBytes,
[src]
O: ByteOrder,
PhantomData<O>: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
I16<O>: Sized,
[src]
I16<O>: Sized,
impl<T> FromBytes for [T; 60] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 60]: Sized,
[src]
[T; 60]: Sized,
impl<T> FromBytes for [T; 236] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 236]: Sized,
[src]
[T; 236]: Sized,
impl FromBytes for f64
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
f64: Sized,
[src]
f64: Sized,
impl<T> FromBytes for [T; 54] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 54]: Sized,
[src]
[T; 54]: Sized,
impl FromBytes for i16
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
i16: Sized,
[src]
i16: Sized,
impl<T> FromBytes for [T; 62] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 62]: Sized,
[src]
[T; 62]: Sized,
impl<T> FromBytes for [T; 36] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 36]: Sized,
[src]
[T; 36]: Sized,
impl<T> FromBytes for [T; 64] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 64]: Sized,
[src]
[T; 64]: Sized,
impl<T> FromBytes for [T; 15] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 15]: Sized,
[src]
[T; 15]: Sized,
impl<T> FromBytes for [T; 32] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 32]: Sized,
[src]
[T; 32]: Sized,
impl<T> FromBytes for [T; 1024] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 1024]: Sized,
[src]
[T; 1024]: Sized,
impl<T> FromBytes for [T; 43] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 43]: Sized,
[src]
[T; 43]: Sized,
impl<T> FromBytes for [T; 25] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 25]: Sized,
[src]
[T; 25]: Sized,
impl<O> FromBytes for I64<O> where
O: ByteOrder,
PhantomData<O>: FromBytes,
[src]
O: ByteOrder,
PhantomData<O>: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
I64<O>: Sized,
[src]
I64<O>: Sized,
impl<T> FromBytes for [T; 37] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 37]: Sized,
[src]
[T; 37]: Sized,
impl<T> FromBytes for [T; 2048] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 2048]: Sized,
[src]
[T; 2048]: Sized,
impl<O> FromBytes for U128<O> where
O: ByteOrder,
PhantomData<O>: FromBytes,
[src]
O: ByteOrder,
PhantomData<O>: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
U128<O>: Sized,
[src]
U128<O>: Sized,
impl<T> FromBytes for [T; 6] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 6]: Sized,
[src]
[T; 6]: Sized,
impl<T> FromBytes for [T; 41] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 41]: Sized,
[src]
[T; 41]: Sized,
impl<T> FromBytes for [T; 18] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 18]: Sized,
[src]
[T; 18]: Sized,
impl<T> FromBytes for [T] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T]: Sized,
[src]
[T]: Sized,
impl<T> FromBytes for [T; 126] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 126]: Sized,
[src]
[T; 126]: Sized,
impl FromBytes for isize
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
isize: Sized,
[src]
isize: Sized,
impl<T> FromBytes for PhantomData<T>
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
PhantomData<T>: Sized,
[src]
PhantomData<T>: Sized,
impl<T> FromBytes for [T; 31] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 31]: Sized,
[src]
[T; 31]: Sized,
impl<T> FromBytes for [T; 26] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 26]: Sized,
[src]
[T; 26]: Sized,
impl<T> FromBytes for [T; 40] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 40]: Sized,
[src]
[T; 40]: Sized,
impl<O> FromBytes for I32<O> where
O: ByteOrder,
PhantomData<O>: FromBytes,
[src]
O: ByteOrder,
PhantomData<O>: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
I32<O>: Sized,
[src]
I32<O>: Sized,
impl<T> FromBytes for [T; 13] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 13]: Sized,
[src]
[T; 13]: Sized,
impl<T> FromBytes for [T; 11] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 11]: Sized,
[src]
[T; 11]: Sized,
impl FromBytes for ()
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
(): Sized,
[src]
(): Sized,
impl FromBytes for u128
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
u128: Sized,
[src]
u128: Sized,
impl<T> FromBytes for [T; 59] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 59]: Sized,
[src]
[T; 59]: Sized,
impl<O> FromBytes for U32<O> where
O: ByteOrder,
PhantomData<O>: FromBytes,
[src]
O: ByteOrder,
PhantomData<O>: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
U32<O>: Sized,
[src]
U32<O>: Sized,
impl FromBytes for f32
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
f32: Sized,
[src]
f32: Sized,
impl<T> FromBytes for [T; 56] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 56]: Sized,
[src]
[T; 56]: Sized,
impl<T> FromBytes for [T; 10] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 10]: Sized,
[src]
[T; 10]: Sized,
impl<T> FromBytes for [T; 63] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 63]: Sized,
[src]
[T; 63]: Sized,
impl<T> FromBytes for [T; 30] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 30]: Sized,
[src]
[T; 30]: Sized,
impl<T> FromBytes for [T; 9] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 9]: Sized,
[src]
[T; 9]: Sized,
impl<T> FromBytes for [T; 28] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 28]: Sized,
[src]
[T; 28]: Sized,
impl<T> FromBytes for [T; 512] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 512]: Sized,
[src]
[T; 512]: Sized,
impl<T> FromBytes for [T; 2] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 2]: Sized,
[src]
[T; 2]: Sized,
impl<T> FromBytes for [T; 39] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 39]: Sized,
[src]
[T; 39]: Sized,
impl<T> FromBytes for [T; 42] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 42]: Sized,
[src]
[T; 42]: Sized,
impl<T> FromBytes for [T; 35] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 35]: Sized,
[src]
[T; 35]: Sized,
impl<T> FromBytes for [T; 23] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 23]: Sized,
[src]
[T; 23]: Sized,
impl<T> FromBytes for [T; 58] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 58]: Sized,
[src]
[T; 58]: Sized,
impl<T> FromBytes for [T; 14] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 14]: Sized,
[src]
[T; 14]: Sized,
impl FromBytes for i8
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
i8: Sized,
[src]
i8: Sized,
impl<T> FromBytes for [T; 55] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 55]: Sized,
[src]
[T; 55]: Sized,
impl<T> FromBytes for [T; 16] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 16]: Sized,
[src]
[T; 16]: Sized,
impl<T> FromBytes for [T; 32768] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 32768]: Sized,
[src]
[T; 32768]: Sized,
impl FromBytes for i32
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
i32: Sized,
[src]
i32: Sized,
impl<T> FromBytes for [T; 7] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 7]: Sized,
[src]
[T; 7]: Sized,
impl<T> FromBytes for [T; 52] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 52]: Sized,
[src]
[T; 52]: Sized,
impl<T> FromBytes for [T; 3] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 3]: Sized,
[src]
[T; 3]: Sized,
impl<T> FromBytes for [T; 49] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 49]: Sized,
[src]
[T; 49]: Sized,
impl<T> FromBytes for [T; 24] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 24]: Sized,
[src]
[T; 24]: Sized,
impl<T> FromBytes for [T; 38] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 38]: Sized,
[src]
[T; 38]: Sized,
impl<T> FromBytes for [T; 29] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 29]: Sized,
[src]
[T; 29]: Sized,
impl<T> FromBytes for [T; 34] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 34]: Sized,
[src]
[T; 34]: Sized,
impl<T> FromBytes for [T; 19] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 19]: Sized,
[src]
[T; 19]: Sized,
impl<T> FromBytes for [T; 5] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 5]: Sized,
[src]
[T; 5]: Sized,
impl<T> FromBytes for [T; 47] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 47]: Sized,
[src]
[T; 47]: Sized,
impl<T> FromBytes for [T; 21] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 21]: Sized,
[src]
[T; 21]: Sized,
impl<T> FromBytes for [T; 46] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 46]: Sized,
[src]
[T; 46]: Sized,
impl<T> FromBytes for [T; 1] where
T: FromBytes,
[src]
T: FromBytes,
fn only_derive_is_allowed_to_implement_this_trait() where
[T; 1]: Sized,
[src]
[T; 1]: Sized,
Implementors
impl FromBytes for EphPublicKey
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for Hmac
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for Key
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for Nonce
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for Hash
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for Keypair
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for NetworkAuth
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for PublicKey
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for SecretKey
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,
impl FromBytes for Signature
[src]
fn only_derive_is_allowed_to_implement_this_trait() where
Self: Sized,
[src]
Self: Sized,