Enum dash_sdk::platform::DataContract
pub enum DataContract {
V0(DataContractV0),
}
Expand description
Understanding Data Contract versioning Data contract versioning is both for the code structure and for serialization.
The code structure is what is used in code to verify documents and is used in memory There is generally only one code structure running at any given time, except in the case we are switching protocol versions.
There can be a lot of serialization versions that are active, and serialization versions should generally always be supported. This is because when we store something as version 1. 10 years down the line when we unserialize this contract it will still be in version 1. Deserialization of a data contract serialized in that version should be translated to the current code structure version.
There are some scenarios to consider,
One such scenario is that the serialization version does not contain enough information for the current code structure version.
Depending on the situation one of the following occurs:
- the contract structure can imply missing parts based on default behavior
- the contract structure can disable certain features dependant on missing information
- the contract might be unusable until it is updated by the owner
Here we use PlatformSerialize, because
Variants§
V0(DataContractV0)
Implementations§
§impl DataContract
impl DataContract
pub fn generate_data_contract_id_v0(
owner_id: impl AsRef<[u8]>,
identity_nonce: u64,
) -> Identifier
pub fn generate_data_contract_id_v0( owner_id: impl AsRef<[u8]>, identity_nonce: u64, ) -> Identifier
Generate data contract id based on owner id and identity nonce
§impl DataContract
impl DataContract
pub fn try_from_platform_versioned( value: DataContractInSerializationFormat, full_validation: bool, validation_operations: &mut Vec<ProtocolValidationOperation>, platform_version: &PlatformVersion, ) -> Result<DataContract, ProtocolError>
§impl DataContract
impl DataContract
pub fn feature_version(&self) -> u16
§impl DataContract
impl DataContract
pub fn as_v0(&self) -> Option<&DataContractV0>
pub fn as_v0_mut(&mut self) -> Option<&mut DataContractV0>
pub fn into_v0(self) -> Option<DataContractV0>
pub fn check_version_is_active( protocol_version: u32, data_contract_system_version: u16, ) -> Result<bool, ProtocolError>
pub fn hash( &self, platform_version: &PlatformVersion, ) -> Result<Vec<u8>, ProtocolError>
Trait Implementations§
§impl Clone for DataContract
impl Clone for DataContract
§fn clone(&self) -> DataContract
fn clone(&self) -> DataContract
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more§impl DataContractDocumentValidationMethodsV0 for DataContract
impl DataContractDocumentValidationMethodsV0 for DataContract
fn validate_document( &self, name: &str, document: &Document, platform_version: &PlatformVersion, ) -> Result<ValidationResult<(), ConsensusError>, ProtocolError>
fn validate_document_properties( &self, name: &str, properties: Value, platform_version: &PlatformVersion, ) -> Result<ValidationResult<(), ConsensusError>, ProtocolError>
§impl DataContractJsonConversionMethodsV0 for DataContract
impl DataContractJsonConversionMethodsV0 for DataContract
fn from_json(
json_value: Value,
full_validation: bool,
platform_version: &PlatformVersion,
) -> Result<DataContract, ProtocolError>where
DataContract: Sized,
§fn to_json(
&self,
platform_version: &PlatformVersion,
) -> Result<Value, ProtocolError>
fn to_json( &self, platform_version: &PlatformVersion, ) -> Result<Value, ProtocolError>
§fn to_validating_json(
&self,
platform_version: &PlatformVersion,
) -> Result<Value, ProtocolError>
fn to_validating_json( &self, platform_version: &PlatformVersion, ) -> Result<Value, ProtocolError>
§impl DataContractPaths for DataContract
impl DataContractPaths for DataContract
§fn root_path(&self) -> [&[u8]; 2]
fn root_path(&self) -> [&[u8]; 2]
§fn documents_path(&self) -> [&[u8]; 3]
fn documents_path(&self) -> [&[u8]; 3]
§fn document_type_path<'a>(
&'a self,
document_type_name: &'a str,
) -> [&'a [u8]; 4]
fn document_type_path<'a>( &'a self, document_type_name: &'a str, ) -> [&'a [u8]; 4]
§fn documents_primary_key_path<'a>(
&'a self,
document_type_name: &'a str,
) -> [&'a [u8]; 5]
fn documents_primary_key_path<'a>( &'a self, document_type_name: &'a str, ) -> [&'a [u8]; 5]
§impl DataContractSchemaMethodsV0 for DataContract
impl DataContractSchemaMethodsV0 for DataContract
fn set_document_schemas( &mut self, schemas: BTreeMap<String, Value>, defs: Option<BTreeMap<String, Value>>, full_validation: bool, validation_operations: &mut Vec<ProtocolValidationOperation>, platform_version: &PlatformVersion, ) -> Result<(), ProtocolError>
fn set_document_schema( &mut self, name: &str, schema: Value, full_validation: bool, validation_operations: &mut Vec<ProtocolValidationOperation>, platform_version: &PlatformVersion, ) -> Result<(), ProtocolError>
fn document_schemas(&self) -> BTreeMap<String, &Value>
fn schema_defs(&self) -> Option<&BTreeMap<String, Value>>
fn set_schema_defs( &mut self, defs: Option<BTreeMap<String, Value>>, full_validation: bool, validation_operations: &mut Vec<ProtocolValidationOperation>, platform_version: &PlatformVersion, ) -> Result<(), ProtocolError>
§impl DataContractUpdateValidationMethodsV0 for DataContract
impl DataContractUpdateValidationMethodsV0 for DataContract
fn validate_update( &self, data_contract: &DataContract, platform_version: &PlatformVersion, ) -> Result<ValidationResult<(), ConsensusError>, ProtocolError>
§impl DataContractV0Getters for DataContract
impl DataContractV0Getters for DataContract
§fn id(&self) -> Identifier
fn id(&self) -> Identifier
fn id_ref(&self) -> &Identifier
§fn owner_id(&self) -> Identifier
fn owner_id(&self) -> Identifier
fn document_type_cloned_for_name( &self, name: &str, ) -> Result<DocumentType, DataContractError>
fn document_type_borrowed_for_name( &self, name: &str, ) -> Result<&DocumentType, DataContractError>
§fn document_type_for_name(
&self,
name: &str,
) -> Result<DocumentTypeRef<'_>, DataContractError>
fn document_type_for_name( &self, name: &str, ) -> Result<DocumentTypeRef<'_>, DataContractError>
fn document_type_optional_for_name( &self, name: &str, ) -> Option<DocumentTypeRef<'_>>
fn document_type_cloned_optional_for_name( &self, name: &str, ) -> Option<DocumentType>
fn has_document_type_for_name(&self, name: &str) -> bool
fn document_types_with_contested_indexes( &self, ) -> BTreeMap<&String, &DocumentType>
§fn document_types(&self) -> &BTreeMap<String, DocumentType>
fn document_types(&self) -> &BTreeMap<String, DocumentType>
§fn document_types_mut(&mut self) -> &mut BTreeMap<String, DocumentType>
fn document_types_mut(&mut self) -> &mut BTreeMap<String, DocumentType>
§fn metadata_mut(&mut self) -> Option<&mut Metadata>
fn metadata_mut(&mut self) -> Option<&mut Metadata>
§fn config_mut(&mut self) -> &mut DataContractConfig
fn config_mut(&mut self) -> &mut DataContractConfig
§impl DataContractV0Setters for DataContract
impl DataContractV0Setters for DataContract
§fn set_id(&mut self, id: Identifier)
fn set_id(&mut self, id: Identifier)
§fn set_version(&mut self, version: u32)
fn set_version(&mut self, version: u32)
fn increment_version(&mut self)
§fn set_owner_id(&mut self, owner_id: Identifier)
fn set_owner_id(&mut self, owner_id: Identifier)
§fn set_metadata(&mut self, metadata: Option<Metadata>)
fn set_metadata(&mut self, metadata: Option<Metadata>)
§fn set_config(&mut self, config: DataContractConfig)
fn set_config(&mut self, config: DataContractConfig)
§impl DataContractValueConversionMethodsV0 for DataContract
impl DataContractValueConversionMethodsV0 for DataContract
fn from_value( raw_object: Value, full_validation: bool, platform_version: &PlatformVersion, ) -> Result<DataContract, ProtocolError>
fn to_value( &self, platform_version: &PlatformVersion, ) -> Result<Value, ProtocolError>
fn into_value( self, platform_version: &PlatformVersion, ) -> Result<Value, ProtocolError>
§impl Debug for DataContract
impl Debug for DataContract
§impl<'de> Deserialize<'de> for DataContract
impl<'de> Deserialize<'de> for DataContract
§fn deserialize<D>(
deserializer: D,
) -> Result<DataContract, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<DataContract, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
source§impl Fetch for DataContract
impl Fetch for DataContract
§type Request = GetDataContractRequest
type Request = GetDataContractRequest
source§fn fetch<'life0, 'async_trait, Q>(
sdk: &'life0 Sdk,
query: Q,
) -> Pin<Box<dyn Future<Output = Result<Option<Self>, Error>> + Send + 'async_trait>>
fn fetch<'life0, 'async_trait, Q>( sdk: &'life0 Sdk, query: Q, ) -> Pin<Box<dyn Future<Output = Result<Option<Self>, Error>> + Send + 'async_trait>>
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>>
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>>
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>>
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>>
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>>
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>>
source§impl FetchMany<Identifier, BTreeMap<Identifier, Option<DataContract>>> for DataContract
impl FetchMany<Identifier, BTreeMap<Identifier, Option<DataContract>>> for DataContract
Fetch multiple data contracts.
Returns DataContracts indexed by Identifier.
§Supported query types
- Vec
- list of identifiers of data contracts to fetch
§type Request = GetDataContractsRequest
type Request = GetDataContractsRequest
source§fn fetch_many<'life0, 'async_trait, Q>(
sdk: &'life0 Sdk,
query: Q,
) -> Pin<Box<dyn Future<Output = Result<O, Error>> + Send + 'async_trait>>
fn fetch_many<'life0, 'async_trait, Q>( sdk: &'life0 Sdk, query: Q, ) -> Pin<Box<dyn Future<Output = Result<O, Error>> + Send + 'async_trait>>
source§fn fetch_by_identifiers<'life0, 'async_trait, I>(
sdk: &'life0 Sdk,
identifiers: I,
) -> Pin<Box<dyn Future<Output = Result<O, Error>> + Send + 'async_trait>>where
Vec<Identifier>: Query<<Self as FetchMany<K, O>>::Request>,
I: 'async_trait + IntoIterator<Item = Identifier> + Send,
Self: Send + 'async_trait,
'life0: 'async_trait,
fn fetch_by_identifiers<'life0, 'async_trait, I>(
sdk: &'life0 Sdk,
identifiers: I,
) -> Pin<Box<dyn Future<Output = Result<O, Error>> + Send + 'async_trait>>where
Vec<Identifier>: Query<<Self as FetchMany<K, O>>::Request>,
I: 'async_trait + IntoIterator<Item = Identifier> + Send,
Self: Send + 'async_trait,
'life0: 'async_trait,
§impl From<CreatedDataContract> for DataContract
impl From<CreatedDataContract> for DataContract
§fn from(value: CreatedDataContract) -> DataContract
fn from(value: CreatedDataContract) -> DataContract
§impl From<DataContractV0> for DataContract
impl From<DataContractV0> for DataContract
§fn from(original: DataContractV0) -> DataContract
fn from(original: DataContractV0) -> DataContract
§impl FromProof<GetDataContractRequest> for DataContract
impl FromProof<GetDataContractRequest> for DataContract
§type Request = GetDataContractRequest
type Request = GetDataContractRequest
§type Response = GetDataContractResponse
type Response = GetDataContractResponse
§fn maybe_from_proof_with_metadata<'a, I, O>(
request: I,
response: O,
_network: Network,
platform_version: &PlatformVersion,
provider: &'a dyn ContextProvider,
) -> Result<(Option<DataContract>, ResponseMetadata, Proof), Error>where
I: Into<<DataContract as FromProof<GetDataContractRequest>>::Request>,
O: Into<<DataContract as FromProof<GetDataContractRequest>>::Response>,
DataContract: 'a,
fn maybe_from_proof_with_metadata<'a, I, O>(
request: I,
response: O,
_network: Network,
platform_version: &PlatformVersion,
provider: &'a dyn ContextProvider,
) -> Result<(Option<DataContract>, ResponseMetadata, Proof), Error>where
I: Into<<DataContract as FromProof<GetDataContractRequest>>::Request>,
O: Into<<DataContract as FromProof<GetDataContractRequest>>::Response>,
DataContract: 'a,
§fn maybe_from_proof<'a, I, O>(
request: I,
response: O,
network: Network,
platform_version: &PlatformVersion,
provider: &'a dyn ContextProvider,
) -> Result<Option<Self>, Error>
fn maybe_from_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<Option<Self>, Error>
§fn from_proof<'a, I, O>(
request: I,
response: O,
network: Network,
platform_version: &PlatformVersion,
provider: &'a dyn ContextProvider,
) -> Result<Self, Error>
fn from_proof<'a, I, O>( request: I, response: O, network: Network, platform_version: &PlatformVersion, provider: &'a dyn ContextProvider, ) -> Result<Self, Error>
§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>
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>
§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>
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>
§impl Length for DataContract
impl Length for DataContract
§fn count_some(&self) -> usize
fn count_some(&self) -> usize
source§impl MockResponse for DataContract
impl MockResponse for DataContract
source§fn mock_serialize(&self, sdk: &MockDashPlatformSdk) -> Vec<u8> ⓘ
fn mock_serialize(&self, sdk: &MockDashPlatformSdk) -> Vec<u8> ⓘ
source§fn mock_deserialize(sdk: &MockDashPlatformSdk, buf: &[u8]) -> Selfwhere
Self: Sized,
fn mock_deserialize(sdk: &MockDashPlatformSdk, buf: &[u8]) -> Selfwhere
Self: Sized,
§impl PartialEq for DataContract
impl PartialEq for DataContract
§fn eq(&self, other: &DataContract) -> bool
fn eq(&self, other: &DataContract) -> bool
self
and other
values to be equal, and is used
by ==
.§impl PlatformDeserializableWithBytesLenFromVersionedStructure for DataContract
impl PlatformDeserializableWithBytesLenFromVersionedStructure for DataContract
§fn versioned_deserialize_with_bytes_len(
data: &[u8],
full_validation: bool,
platform_version: &PlatformVersion,
) -> Result<(DataContract, usize), ProtocolError>where
DataContract: Sized,
fn versioned_deserialize_with_bytes_len(
data: &[u8],
full_validation: bool,
platform_version: &PlatformVersion,
) -> Result<(DataContract, usize), ProtocolError>where
DataContract: Sized,
§impl PlatformDeserializableWithPotentialValidationFromVersionedStructure for DataContract
impl PlatformDeserializableWithPotentialValidationFromVersionedStructure for DataContract
§fn versioned_deserialize(
data: &[u8],
full_validation: bool,
platform_version: &PlatformVersion,
) -> Result<DataContract, ProtocolError>where
DataContract: Sized,
fn versioned_deserialize(
data: &[u8],
full_validation: bool,
platform_version: &PlatformVersion,
) -> Result<DataContract, ProtocolError>where
DataContract: Sized,
§impl PlatformLimitDeserializableFromVersionedStructure for DataContract
impl PlatformLimitDeserializableFromVersionedStructure for DataContract
fn versioned_limit_deserialize(
data: &[u8],
platform_version: &PlatformVersion,
) -> Result<DataContract, ProtocolError>where
DataContract: Sized,
§impl PlatformSerializableWithPlatformVersion for DataContract
impl PlatformSerializableWithPlatformVersion for DataContract
type Error = ProtocolError
§fn serialize_to_bytes_with_platform_version(
&self,
platform_version: &PlatformVersion,
) -> Result<Vec<u8>, ProtocolError>
fn serialize_to_bytes_with_platform_version( &self, platform_version: &PlatformVersion, ) -> Result<Vec<u8>, ProtocolError>
§fn serialize_consume_to_bytes_with_platform_version(
self,
platform_version: &PlatformVersion,
) -> Result<Vec<u8>, ProtocolError>
fn serialize_consume_to_bytes_with_platform_version( self, platform_version: &PlatformVersion, ) -> Result<Vec<u8>, ProtocolError>
source§impl<S: Signer> PutContract<S> for DataContract
impl<S: Signer> PutContract<S> for DataContract
source§fn put_to_platform<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sdk: &'life1 Sdk,
identity_public_key: IdentityPublicKey,
signer: &'life2 S,
settings: Option<PutSettings>,
) -> Pin<Box<dyn Future<Output = Result<StateTransition, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn put_to_platform<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sdk: &'life1 Sdk,
identity_public_key: IdentityPublicKey,
signer: &'life2 S,
settings: Option<PutSettings>,
) -> Pin<Box<dyn Future<Output = Result<StateTransition, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
None
sets default connection behaviorsource§fn wait_for_response<'life0, 'life1, 'async_trait>(
&'life0 self,
sdk: &'life1 Sdk,
state_transition: StateTransition,
) -> Pin<Box<dyn Future<Output = Result<DataContract, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn wait_for_response<'life0, 'life1, 'async_trait>(
&'life0 self,
sdk: &'life1 Sdk,
state_transition: StateTransition,
) -> Pin<Box<dyn Future<Output = Result<DataContract, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
source§fn put_to_platform_and_wait_for_response<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sdk: &'life1 Sdk,
identity_public_key: IdentityPublicKey,
signer: &'life2 S,
) -> Pin<Box<dyn Future<Output = Result<DataContract, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
fn put_to_platform_and_wait_for_response<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
sdk: &'life1 Sdk,
identity_public_key: IdentityPublicKey,
signer: &'life2 S,
) -> Pin<Box<dyn Future<Output = Result<DataContract, Error>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
§impl Serialize for DataContract
impl Serialize for DataContract
§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
impl StructuralPartialEq for DataContract
Auto Trait Implementations§
impl Freeze for DataContract
impl RefUnwindSafe for DataContract
impl Send for DataContract
impl Sync for DataContract
impl Unpin for DataContract
impl UnwindSafe for DataContract
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> CostsExt for T
impl<T> CostsExt for T
§fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>where
Self: Sized,
fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>where
Self: Sized,
CostContext
object with provided costs.§fn wrap_fn_cost(
self,
f: impl FnOnce(&Self) -> OperationCost,
) -> CostContext<Self>where
Self: Sized,
fn wrap_fn_cost(
self,
f: impl FnOnce(&Self) -> OperationCost,
) -> CostContext<Self>where
Self: Sized,
CostContext
object with costs computed using the
value getting wrapped.§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moresource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§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,
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) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
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
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.