Struct sp_keystore::testing::KeyStore
source · pub struct KeyStore { /* private fields */ }
Expand description
A keystore implementation usable in tests.
Implementations§
Trait Implementations§
source§impl CryptoStore for KeyStore
impl CryptoStore for KeyStore
source§fn keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
List all supported keys Read more
source§fn sr25519_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn sr25519_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns all sr25519 public keys for the given key type.
source§fn sr25519_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sr25519_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate a new sr25519 key pair for the given key type and an optional seed. Read more
source§fn ed25519_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ed25519_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns all ed25519 public keys for the given key type.
source§fn ed25519_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn ed25519_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate a new ed25519 key pair for the given key type and an optional seed. Read more
source§fn ecdsa_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn ecdsa_public_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId
) -> Pin<Box<dyn Future<Output = Vec<Public>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Returns all ecdsa public keys for the given key type.
source§fn ecdsa_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn ecdsa_generate_new<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
seed: Option<&'life1 str>
) -> Pin<Box<dyn Future<Output = Result<Public, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate a new ecdsa key pair for the given key type and an optional seed. Read more
source§fn insert_unknown<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
suri: &'life1 str,
public: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), ()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn insert_unknown<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
suri: &'life1 str,
public: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<(), ()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Insert a new key. This doesn’t require any known of the crypto; but a public key must be
manually provided. Read more
source§fn has_keys<'life0, 'life1, 'async_trait>(
&'life0 self,
public_keys: &'life1 [(Vec<u8>, KeyTypeId)]
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn has_keys<'life0, 'life1, 'async_trait>(
&'life0 self,
public_keys: &'life1 [(Vec<u8>, KeyTypeId)]
) -> Pin<Box<dyn Future<Output = bool> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Checks if the private keys for the given public key and key type combinations exist. Read more
source§fn supported_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn supported_keys<'life0, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Pin<Box<dyn Future<Output = Result<Vec<CryptoTypePublicPair>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Find intersection between provided keys and supported keys Read more
source§fn sign_with<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
key: &'life1 CryptoTypePublicPair,
msg: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn sign_with<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
key: &'life1 CryptoTypePublicPair,
msg: &'life2 [u8]
) -> Pin<Box<dyn Future<Output = Result<Option<Vec<u8>>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Sign with key Read more
source§fn sr25519_vrf_sign<'life0, 'life1, 'async_trait>(
&'life0 self,
key_type: KeyTypeId,
public: &'life1 Public,
transcript_data: VRFTranscriptData
) -> Pin<Box<dyn Future<Output = Result<Option<VRFSignature>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sr25519_vrf_sign<'life0, 'life1, 'async_trait>(
&'life0 self,
key_type: KeyTypeId,
public: &'life1 Public,
transcript_data: VRFTranscriptData
) -> Pin<Box<dyn Future<Output = Result<Option<VRFSignature>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Generate VRF signature for given transcript data. Read more
source§fn ecdsa_sign_prehashed<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
public: &'life1 Public,
msg: &'life2 [u8; 32]
) -> Pin<Box<dyn Future<Output = Result<Option<Signature>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn ecdsa_sign_prehashed<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
id: KeyTypeId,
public: &'life1 Public,
msg: &'life2 [u8; 32]
) -> Pin<Box<dyn Future<Output = Result<Option<Signature>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
Generate an ECDSA signature for a given pre-hashed message. Read more
source§fn sign_with_any<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Option<(CryptoTypePublicPair, Vec<u8>)>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sign_with_any<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Option<(CryptoTypePublicPair, Vec<u8>)>, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sign with any key Read more
source§fn sign_with_all<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Option<Vec<u8>>, Error>>, ()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn sign_with_all<'life0, 'life1, 'async_trait>(
&'life0 self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &'life1 [u8]
) -> Pin<Box<dyn Future<Output = Result<Vec<Result<Option<Vec<u8>>, Error>>, ()>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sign with all keys Read more
source§impl Into<Arc<dyn CryptoStore + 'static>> for KeyStore
impl Into<Arc<dyn CryptoStore + 'static>> for KeyStore
source§fn into(self) -> Arc<dyn CryptoStore>
fn into(self) -> Arc<dyn CryptoStore>
Converts this type into the (usually inferred) input type.
source§impl Into<Arc<dyn SyncCryptoStore + 'static>> for KeyStore
impl Into<Arc<dyn SyncCryptoStore + 'static>> for KeyStore
source§fn into(self) -> SyncCryptoStorePtr
fn into(self) -> SyncCryptoStorePtr
Converts this type into the (usually inferred) input type.
source§impl SyncCryptoStore for KeyStore
impl SyncCryptoStore for KeyStore
source§fn keys(&self, id: KeyTypeId) -> Result<Vec<CryptoTypePublicPair>, Error>
fn keys(&self, id: KeyTypeId) -> Result<Vec<CryptoTypePublicPair>, Error>
List all supported keys Read more
source§fn sr25519_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
fn sr25519_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
Returns all sr25519 public keys for the given key type.
source§fn sr25519_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
fn sr25519_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
Generate a new sr25519 key pair for the given key type and an optional seed. Read more
source§fn ed25519_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
fn ed25519_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
Returns all ed25519 public keys for the given key type.
source§fn ed25519_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
fn ed25519_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
Generate a new ed25519 key pair for the given key type and an optional seed. Read more
source§fn ecdsa_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
fn ecdsa_public_keys(&self, id: KeyTypeId) -> Vec<Public> ⓘ
Returns all ecdsa public keys for the given key type.
source§fn ecdsa_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
fn ecdsa_generate_new(
&self,
id: KeyTypeId,
seed: Option<&str>
) -> Result<Public, Error>
Generate a new ecdsa key pair for the given key type and an optional seed. Read more
source§fn insert_unknown(
&self,
id: KeyTypeId,
suri: &str,
public: &[u8]
) -> Result<(), ()>
fn insert_unknown(
&self,
id: KeyTypeId,
suri: &str,
public: &[u8]
) -> Result<(), ()>
Insert a new key. This doesn’t require any known of the crypto; but a public key must be
manually provided. Read more
source§fn has_keys(&self, public_keys: &[(Vec<u8>, KeyTypeId)]) -> bool
fn has_keys(&self, public_keys: &[(Vec<u8>, KeyTypeId)]) -> bool
Checks if the private keys for the given public key and key type combinations exist. Read more
source§fn supported_keys(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Result<Vec<CryptoTypePublicPair>, Error>
fn supported_keys(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>
) -> Result<Vec<CryptoTypePublicPair>, Error>
Find intersection between provided keys and supported keys Read more
source§fn sign_with(
&self,
id: KeyTypeId,
key: &CryptoTypePublicPair,
msg: &[u8]
) -> Result<Option<Vec<u8>>, Error>
fn sign_with(
&self,
id: KeyTypeId,
key: &CryptoTypePublicPair,
msg: &[u8]
) -> Result<Option<Vec<u8>>, Error>
Sign with key Read more
source§fn sr25519_vrf_sign(
&self,
key_type: KeyTypeId,
public: &Public,
transcript_data: VRFTranscriptData
) -> Result<Option<VRFSignature>, Error>
fn sr25519_vrf_sign(
&self,
key_type: KeyTypeId,
public: &Public,
transcript_data: VRFTranscriptData
) -> Result<Option<VRFSignature>, Error>
Generate VRF signature for given transcript data. Read more
source§fn ecdsa_sign_prehashed(
&self,
id: KeyTypeId,
public: &Public,
msg: &[u8; 32]
) -> Result<Option<Signature>, Error>
fn ecdsa_sign_prehashed(
&self,
id: KeyTypeId,
public: &Public,
msg: &[u8; 32]
) -> Result<Option<Signature>, Error>
Generate an ECDSA signature for a given pre-hashed message. Read more
source§fn sign_with_any(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &[u8]
) -> Result<Option<(CryptoTypePublicPair, Vec<u8>)>, Error>
fn sign_with_any(
&self,
id: KeyTypeId,
keys: Vec<CryptoTypePublicPair>,
msg: &[u8]
) -> Result<Option<(CryptoTypePublicPair, Vec<u8>)>, Error>
Sign with any key Read more
Auto Trait Implementations§
impl !RefUnwindSafe for KeyStore
impl Send for KeyStore
impl Sync for KeyStore
impl Unpin for KeyStore
impl !UnwindSafe for KeyStore
Blanket Implementations§
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read moresource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moresource§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
Borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Borrows
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Immutable access to the
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Mutable access to the
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Immutable access to the
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Mutable access to the
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
Immutable access to the
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Mutable access to the
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds. Read moresource§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds. Read moresource§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds. Read moresource§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
Calls
.tap_ref()
only in debug builds, and is erased in release
builds. Read moresource§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds. Read moresource§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.