Enum dash_sdk::platform::Identity

pub enum Identity {
    V0(IdentityV0),
}
Expand description

The identity is not stored inside of drive, because of this, the serialization is mainly for transport, the serialization of the identity will include the version, so no passthrough or untagged is needed here

Variants§

§

V0(IdentityV0)

Implementations§

§

impl Identity

pub fn hash(&self) -> Result<Vec<u8>, ProtocolError>

Computes the hash of an identity

pub fn default_versioned( platform_version: &PlatformVersion, ) -> Result<Identity, ProtocolError>

pub fn new_with_id_and_keys( id: Identifier, public_keys: BTreeMap<u32, IdentityPublicKey>, platform_version: &PlatformVersion, ) -> Result<Identity, ProtocolError>

Created a new identity based on asset locks and keys

pub fn into_partial_identity_info(self) -> PartialIdentity

Convenience method to get Partial Identity Info

pub fn into_partial_identity_info_no_balance(self) -> PartialIdentity

Convenience method to get Partial Identity Info

§

impl Identity

pub fn create_basic_identity( id: Identifier, platform_version: &PlatformVersion, ) -> Result<Identity, ProtocolError>

§

impl Identity

pub fn random_identity_with_rng( key_count: u32, rng: &mut StdRng, platform_version: &PlatformVersion, ) -> Result<Identity, ProtocolError>

Generates a random identity using the specified version and key count, with a provided RNG.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • key_count - The number of keys to generate for the identity.
  • rng - A mutable reference to a random number generator to use for generating the identity.
§Returns

A randomly generated identity of the specified version.

§Panics

This function will panic if an unsupported version is provided.

pub fn random_identity_with_main_keys_with_private_key<I>( key_count: u32, rng: &mut StdRng, platform_version: &PlatformVersion, ) -> Result<(Identity, I), ProtocolError>

Generates a random identity with main keys and their corresponding private keys, using the specified version and key count, with a provided RNG.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • key_count - The number of keys to generate for the identity.
  • rng - A mutable reference to a random number generator to use for generating the identity.
§Returns

A tuple containing the randomly generated identity and a collection of main keys with their corresponding private keys.

§Panics

This function will panic if an unsupported version is provided.

§Errors

This function may return a ProtocolError if an error occurs during identity generation.

pub fn random_identity( key_count: u32, seed: Option<u64>, platform_version: &PlatformVersion, ) -> Result<Identity, ProtocolError>

Generates a random identity using the specified version and key count, with an optional seed for reproducibility.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • key_count - The number of keys to generate for the identity.
  • seed - An optional seed for reproducibility. If provided, the RNG will be seeded with this value.
§Returns

A randomly generated identity of the specified version.

§Panics

This function will panic if an unsupported version is provided.

pub fn random_identities( count: u16, key_count: u32, seed: Option<u64>, platform_version: &PlatformVersion, ) -> Result<Vec<Identity>, ProtocolError>

Generates a specified number of random identities using the specified version and key count, with an optional seed for reproducibility.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • count - The number of identities to generate.
  • key_count - The number of keys to generate for each identity.
  • seed - An optional seed for reproducibility. If provided, the RNG will be seeded with this value.
§Returns

A vector of randomly generated identities of the specified version.

§Panics

This function will panic if an unsupported version is provided.

pub fn random_identities_with_rng( count: u16, key_count: u32, rng: &mut StdRng, platform_version: &PlatformVersion, ) -> Result<Vec<Identity>, ProtocolError>

Generates a specified number of random identities using the specified version and key count, with a provided RNG.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • count - The number of identities to generate.
  • key_count - The number of keys to generate for each identity.
  • rng - A mutable reference to a random number generator to use for generating the identities.
§Returns

A vector of randomly generated identities of the specified version.

§Panics

This function will panic if an unsupported version is provided.

pub fn random_identities_with_private_keys_with_rng<I>( count: u16, key_count: u32, rng: &mut StdRng, platform_version: &PlatformVersion, ) -> Result<(Vec<Identity>, I), ProtocolError>

Generates a specified number of random identities with their corresponding private keys, using the specified version, key count, and a provided RNG.

§Arguments
  • version - An optional feature version for the identity. If not provided, the latest version will be used.
  • count - The number of identities to generate.
  • key_count - The number of keys to generate for each identity.
  • rng - A mutable reference to a random number generator to use for generating the identities.
§Returns

A tuple containing a vector of randomly generated identities and a collection of main keys with their corresponding private keys.

§Panics

This function will panic if an unsupported version is provided.

§Errors

This function may return a ProtocolError if an error occurs during identity generation.

Trait Implementations§

§

impl<'__de> BorrowDecode<'__de> for Identity

§

fn borrow_decode<__D>(decoder: &mut __D) -> Result<Identity, DecodeError>
where __D: BorrowDecoder<'__de>,

Attempt to decode this type with the given BorrowDecode.
§

impl Clone for Identity

§

fn clone(&self) -> Identity

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl Debug for Identity

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Decode for Identity

§

fn decode<__D>(decoder: &mut __D) -> Result<Identity, DecodeError>
where __D: Decoder,

Attempt to decode this type with the given Decode.
§

impl<'de> Deserialize<'de> for Identity

§

fn deserialize<__D>( __deserializer: __D, ) -> Result<Identity, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
§

impl Encode for Identity

§

fn encode<__E>(&self, encoder: &mut __E) -> Result<(), EncodeError>
where __E: Encoder,

Encode a given type.
source§

impl Fetch for Identity

§

type Request = IdentityRequest

Type of request used to fetch data from Platform. Read more
source§

fn fetch<'life0, 'async_trait, Q>( sdk: &'life0 Sdk, query: Q, ) -> Pin<Box<dyn Future<Output = Result<Option<Self>, Error>> + Send + 'async_trait>>
where Q: 'async_trait + Query<<Self as Fetch>::Request>, Self: Send + 'async_trait, 'life0: 'async_trait,

Fetch single object from Platform. Read more
source§

fn fetch_with_metadata<'life0, 'async_trait, Q>( sdk: &'life0 Sdk, query: Q, settings: Option<RequestSettings>, ) -> Pin<Box<dyn Future<Output = Result<(Option<Self>, ResponseMetadata), Error>> + Send + 'async_trait>>
where Q: 'async_trait + Query<<Self as Fetch>::Request>, Self: Send + 'async_trait, 'life0: 'async_trait,

Fetch single object from Platform with metadata. Read more
source§

fn fetch_with_metadata_and_proof<'life0, 'async_trait, Q>( sdk: &'life0 Sdk, query: Q, settings: Option<RequestSettings>, ) -> Pin<Box<dyn Future<Output = Result<(Option<Self>, ResponseMetadata, Proof), Error>> + Send + 'async_trait>>
where Q: 'async_trait + Query<<Self as Fetch>::Request>, Self: Send + 'async_trait, 'life0: 'async_trait,

Fetch single object from Platform with metadata and underlying proof. Read more
source§

fn fetch_with_settings<'life0, 'async_trait, Q>( sdk: &'life0 Sdk, query: Q, settings: RequestSettings, ) -> Pin<Box<dyn Future<Output = Result<Option<Self>, Error>> + Send + 'async_trait>>
where Q: 'async_trait + Query<<Self as Fetch>::Request>, Self: Send + 'async_trait, 'life0: 'async_trait,

Fetch single object from Platform. Read more
source§

fn fetch_by_identifier<'life0, 'async_trait>( sdk: &'life0 Sdk, id: Identifier, ) -> Pin<Box<dyn Future<Output = Result<Option<Self>, Error>> + Send + 'async_trait>>
where Identifier: Query<<Self as Fetch>::Request>, Self: Send + 'async_trait, 'life0: 'async_trait,

Fetch single object from Platform by identifier. Read more
§

impl From<IdentityV0> for Identity

§

fn from(original: IdentityV0) -> Identity

Converts to this type from the input type.
§

impl FromProof<GetIdentityByPublicKeyHashRequest> for Identity

§

type Request = GetIdentityByPublicKeyHashRequest

Request type for which this trait is implemented.
§

type Response = GetIdentityByPublicKeyHashResponse

Response type for which this trait is implemented.
§

fn maybe_from_proof_with_metadata<'a, I, O>( request: I, response: O, _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option<Identity>, ResponseMetadata, Proof), Error>
where I: Into<<Identity as FromProof<GetIdentityByPublicKeyHashRequest>>::Request>, O: Into<<Identity as FromProof<GetIdentityByPublicKeyHashRequest>>::Response>, Identity: 'a,

Parse and verify the received proof and retrieve the requested object, if any. Read more
§

fn maybe_from_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<Option<Self>, Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Parse and verify the received proof and retrieve the requested object, if any. Read more
§

fn from_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<Self, Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof. Read more
§

fn from_proof_with_metadata<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Self, ResponseMetadata), Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof with metadata. Read more
§

fn from_proof_with_metadata_and_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Self, ResponseMetadata, Proof), Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof with metadata. Read more
§

impl FromProof<GetIdentityRequest> for Identity

§

type Request = GetIdentityRequest

Request type for which this trait is implemented.
§

type Response = GetIdentityResponse

Response type for which this trait is implemented.
§

fn maybe_from_proof_with_metadata<'a, I, O>( request: I, response: O, _network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option<Identity>, ResponseMetadata, Proof), Error>
where I: Into<<Identity as FromProof<GetIdentityRequest>>::Request>, O: Into<<Identity as FromProof<GetIdentityRequest>>::Response>, Identity: Sized + 'a,

Parse and verify the received proof and retrieve the requested object, if any. Read more
§

fn maybe_from_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<Option<Self>, Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Parse and verify the received proof and retrieve the requested object, if any. Read more
§

fn from_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<Self, Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof. Read more
§

fn from_proof_with_metadata<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Self, ResponseMetadata), Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof with metadata. Read more
§

fn from_proof_with_metadata_and_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Self, ResponseMetadata, Proof), Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof with metadata. Read more
source§

impl FromProof<IdentityRequest> for Identity

§

type Request = IdentityRequest

Request type for which this trait is implemented.
§

type Response = IdentityResponse

Response type for which this trait is implemented.
source§

fn maybe_from_proof_with_metadata<'a, I: Into<Self::Request>, O: Into<Self::Response>>( request: I, response: O, network: Network, version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Option<Self>, ResponseMetadata, Proof), Error>
where Self: Sized + 'a,

Parse and verify the received proof and retrieve the requested object, if any. Read more
§

fn maybe_from_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<Option<Self>, Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Parse and verify the received proof and retrieve the requested object, if any. Read more
§

fn from_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<Self, Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof. Read more
§

fn from_proof_with_metadata<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Self, ResponseMetadata), Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof with metadata. Read more
§

fn from_proof_with_metadata_and_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<(Self, ResponseMetadata, Proof), Error>
where I: Into<Self::Request>, O: Into<Self::Response>, Self: Sized + 'a,

Retrieve the requested object from the proof with metadata. Read more
§

impl IdentityGettersV0 for Identity

§

fn public_keys(&self) -> &BTreeMap<u32, IdentityPublicKey>

Returns a reference to the public keys of the identity.

§Returns

A reference to a BTreeMap containing the KeyID as keys and IdentityPublicKey as values.

§

fn public_keys_mut(&mut self) -> &mut BTreeMap<u32, IdentityPublicKey>

Returns a mutable reference to the public keys of the identity.

§Returns

A mutable reference to a BTreeMap containing the KeyID as keys and IdentityPublicKey as values.

§

fn public_keys_owned(self) -> BTreeMap<u32, IdentityPublicKey>

Consumes the Identity and returns the owned public keys.

§Returns

A BTreeMap containing the KeyID as keys and IdentityPublicKey as values.

§

fn balance(&self) -> u64

Returns the balance of the identity.

§Returns

The balance as a u64.

§

fn revision(&self) -> u64

Returns the revision of the identity.

§Returns

The revision as a Revision.

§

fn id(&self) -> Identifier

Returns the identifier of the identity.

§Returns

The identifier as an Identifier.

§

fn get_public_key_by_id(&self, key_id: u32) -> Option<&IdentityPublicKey>

Returns a public key for a given id

§

fn get_public_key_by_id_mut( &mut self, key_id: u32, ) -> Option<&mut IdentityPublicKey>

Returns a public key for a given id

§

fn get_public_key_max_id(&self) -> u32

Get the biggest public KeyID

§

fn add_public_key(&mut self, key: IdentityPublicKey)

Add an identity public key

§

fn add_public_keys(&mut self, keys: impl IntoIterator<Item = IdentityPublicKey>)

Add identity public keys

§

fn get_first_public_key_matching( &self, purpose: Purpose, security_levels: HashSet<SecurityLevel>, key_types: HashSet<KeyType>, allow_disabled: bool, ) -> Option<&IdentityPublicKey>

Get first public key matching a purpose, security levels, or key types, optionally allowing disabled keys

§

impl IdentitySettersV0 for Identity

§

fn set_public_keys(&mut self, new_public_keys: BTreeMap<u32, IdentityPublicKey>)

Sets the public keys of the identity.

§Arguments
  • new_public_keys - A BTreeMap containing the new KeyID as keys and IdentityPublicKey as values.
§

fn set_balance(&mut self, new_balance: u64)

Sets the balance of the identity.

§Arguments
  • new_balance - The new balance as a u64.
§

fn set_revision(&mut self, new_revision: u64)

Sets the revision of the identity.

§Arguments
  • new_revision - The new revision as a Revision.
§

fn bump_revision(&mut self)

Sets the revision of the identity to +1.

§

fn set_id(&mut self, new_id: Identifier)

Sets the identifier of the identity.

§Arguments
  • new_id - The new identifier as an Identifier.
§

fn increase_balance(&mut self, amount: u64) -> u64

Increase Identity balance

§

fn reduce_balance(&mut self, amount: u64) -> u64

Reduce the Identity balance

§

fn increment_revision(&mut self) -> Result<(), ProtocolError>

Increment revision

§

impl Length for Identity

§

fn count_some(&self) -> usize

Return number of non-None elements in the data structure
source§

impl MockResponse for Identity

source§

fn mock_serialize(&self, sdk: &MockDashPlatformSdk) -> Vec<u8>

Serialize the object to save into expectations Read more
source§

fn mock_deserialize(sdk: &MockDashPlatformSdk, buf: &[u8]) -> Self
where Self: Sized,

Deserialize the object from expectations Read more
§

impl PartialEq for Identity

§

fn eq(&self, other: &Identity) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl PlatformDeserializable for Identity

§

fn deserialize_from_bytes(data: &[u8]) -> Result<Identity, ProtocolError>
where Identity: Sized,

§

fn deserialize_from_bytes_no_limit( data: &[u8], ) -> Result<Identity, ProtocolError>
where Identity: Sized,

§

impl PlatformSerializable for Identity

§

type Error = ProtocolError

§

fn serialize_to_bytes( &self, ) -> Result<Vec<u8>, <Identity as PlatformSerializable>::Error>

§

fn serialize_consume_to_bytes( self, ) -> Result<Vec<u8>, <Identity as PlatformSerializable>::Error>

If the trait is not used just do a simple serialize
§

impl PlatformVersionEncode for Identity

§

fn platform_encode<__E>( &self, encoder: &mut __E, platform_version: &PlatformVersion, ) -> Result<(), EncodeError>
where __E: Encoder,

Encode a given type.
§

impl<'__de> PlatformVersionedBorrowDecode<'__de> for Identity

§

fn platform_versioned_borrow_decode<__D>( decoder: &mut __D, platform_version: &PlatformVersion, ) -> Result<Identity, DecodeError>
where __D: BorrowDecoder<'__de>,

Attempt to decode this type with the given [BorrowDecode].
§

impl PlatformVersionedDecode for Identity

§

fn platform_versioned_decode<__D>( decoder: &mut __D, platform_version: &PlatformVersion, ) -> Result<Identity, DecodeError>
where __D: Decoder,

Attempt to decode this type with the given Decode.
source§

impl<S: Signer> PutIdentity<S> for Identity

source§

fn put_to_platform<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, sdk: &'life1 Sdk, asset_lock_proof: AssetLockProof, asset_lock_proof_private_key: &'life2 PrivateKey, signer: &'life3 S, ) -> Pin<Box<dyn Future<Output = Result<(), Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Puts an identity on platform
source§

fn put_to_platform_and_wait_for_response<'life0, 'life1, 'life2, 'life3, 'async_trait>( &'life0 self, sdk: &'life1 Sdk, asset_lock_proof: AssetLockProof, asset_lock_proof_private_key: &'life2 PrivateKey, signer: &'life3 S, ) -> Pin<Box<dyn Future<Output = Result<Identity, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait, 'life3: 'async_trait,

Puts an identity on platform and waits for the confirmation proof
§

impl Serialize for Identity

§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
source§

impl TopUpIdentity for Identity

source§

fn top_up_identity<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, sdk: &'life1 Sdk, asset_lock_proof: AssetLockProof, asset_lock_proof_private_key: &'life2 PrivateKey, user_fee_increase: Option<UserFeeIncrease>, ) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

§

impl TryFromPlatformVersioned<&Value> for Identity

§

type Error = ProtocolError

The type returned in the event of a conversion error.
§

fn try_from_platform_versioned( value: &Value, platform_version: &PlatformVersion, ) -> Result<Identity, <Identity as TryFromPlatformVersioned<&Value>>::Error>

Performs the conversion.
§

impl TryFromPlatformVersioned<Value> for Identity

§

type Error = ProtocolError

The type returned in the event of a conversion error.
§

fn try_from_platform_versioned( value: Value, platform_version: &PlatformVersion, ) -> Result<Identity, <Identity as TryFromPlatformVersioned<Value>>::Error>

Performs the conversion.
§

impl<'a> ValueConvertible<'a> for Identity

§

fn to_object(&self) -> Result<Value, ProtocolError>
where Self: Sized + Clone,

§

fn into_object(self) -> Result<Value, ProtocolError>
where Self: Sized,

§

fn from_object(value: Value) -> Result<Self, ProtocolError>
where Self: Sized,

§

fn from_object_ref(value: &Value) -> Result<Self, ProtocolError>
where Self: Sized,

source§

impl WithdrawFromIdentity for Identity

source§

fn withdraw<'life0, 'life1, 'async_trait, S>( &'life0 self, sdk: &'life1 Sdk, address: Address, amount: u64, core_fee_per_byte: Option<u32>, user_fee_increase: Option<UserFeeIncrease>, signer: S, settings: Option<PutSettings>, ) -> Pin<Box<dyn Future<Output = Result<u64, Error>> + Send + 'async_trait>>
where S: 'async_trait + Signer + Send, Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Function to withdraw credits from an identity. Returns the final identity balance.
§

impl StructuralPartialEq for Identity

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> CostsExt for T

§

fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>
where Self: Sized,

Wraps any value into a CostContext object with provided costs.
§

fn wrap_fn_cost( self, f: impl FnOnce(&Self) -> OperationCost, ) -> CostContext<Self>
where Self: Sized,

Wraps any value into CostContext object with costs computed using the value getting wrapped.
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryFromVersioned<U> for T
where T: TryFrom<U>,

§

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

The type returned in the event of a conversion error.
§

fn try_from_versioned( value: U, _grove_version: &GroveVersion, ) -> Result<T, <T as TryFromVersioned<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

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

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoPlatformVersioned<U> for T
where U: TryFromPlatformVersioned<T>,

§

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

The type returned in the event of a conversion error.
§

fn try_into_platform_versioned( self, platform_version: &PlatformVersion, ) -> Result<U, <U as TryFromPlatformVersioned<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoVersioned<U> for T
where U: TryFromVersioned<T>,

§

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

The type returned in the event of a conversion error.
§

fn try_into_versioned( self, grove_version: &GroveVersion, ) -> Result<U, <U as TryFromVersioned<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

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