Struct reth_node_core::primitives::TransactionSigned
source · pub struct TransactionSigned {
pub hash: FixedBytes<32>,
pub signature: Signature,
pub transaction: Transaction,
}
Expand description
Signed transaction.
Fields§
§hash: FixedBytes<32>
Transaction hash
signature: Signature
The transaction signature values
transaction: Transaction
Raw transaction info
Implementations§
source§impl TransactionSigned
impl TransactionSigned
sourcepub const fn hash(&self) -> FixedBytes<32>
pub const fn hash(&self) -> FixedBytes<32>
Transaction hash. Used to identify transaction.
sourcepub const fn hash_ref(&self) -> &FixedBytes<32>
pub const fn hash_ref(&self) -> &FixedBytes<32>
Reference to transaction hash. Used to identify transaction.
sourcepub fn recover_signer(&self) -> Option<Address>
pub fn recover_signer(&self) -> Option<Address>
Recover signer from signature and hash.
Returns None
if the transaction’s signature is invalid following EIP-2, see also Signature::recover_signer
.
Note:
This can fail for some early ethereum mainnet transactions pre EIP-2, use
Self::recover_signer_unchecked
if you want to recover the signer without ensuring that
the signature has a low s
value.
sourcepub fn recover_signer_unchecked(&self) -> Option<Address>
pub fn recover_signer_unchecked(&self) -> Option<Address>
Recover signer from signature and hash without ensuring that the signature has a low s
value.
Returns None
if the transaction’s signature is invalid, see also
Signature::recover_signer_unchecked
.
sourcepub fn recover_signers<'a, T>(txes: T, num_txes: usize) -> Option<Vec<Address>>where
T: IntoParallelIterator<Item = &'a TransactionSigned> + IntoIterator<Item = &'a TransactionSigned> + Send,
pub fn recover_signers<'a, T>(txes: T, num_txes: usize) -> Option<Vec<Address>>where
T: IntoParallelIterator<Item = &'a TransactionSigned> + IntoIterator<Item = &'a TransactionSigned> + Send,
Recovers a list of signers from a transaction list iterator.
Returns None
, if some transaction’s signature is invalid, see also
Self::recover_signer
.
sourcepub fn recover_signers_unchecked<'a, T>(
txes: T,
num_txes: usize,
) -> Option<Vec<Address>>where
T: IntoParallelIterator<Item = &'a TransactionSigned> + IntoIterator<Item = &'a TransactionSigned>,
pub fn recover_signers_unchecked<'a, T>(
txes: T,
num_txes: usize,
) -> Option<Vec<Address>>where
T: IntoParallelIterator<Item = &'a TransactionSigned> + IntoIterator<Item = &'a TransactionSigned>,
Recovers a list of signers from a transaction list iterator without ensuring that the
signature has a low s
value.
Returns None
, if some transaction’s signature is invalid, see also
Self::recover_signer_unchecked
.
sourcepub const fn with_signer(self, signer: Address) -> TransactionSignedEcRecovered
pub const fn with_signer(self, signer: Address) -> TransactionSignedEcRecovered
Returns the TransactionSignedEcRecovered
transaction with the given sender.
sourcepub fn into_ecrecovered(self) -> Option<TransactionSignedEcRecovered>
pub fn into_ecrecovered(self) -> Option<TransactionSignedEcRecovered>
Consumes the type, recover signer and return TransactionSignedEcRecovered
Returns None
if the transaction’s signature is invalid, see also Self::recover_signer
.
sourcepub fn into_ecrecovered_unchecked(self) -> Option<TransactionSignedEcRecovered>
pub fn into_ecrecovered_unchecked(self) -> Option<TransactionSignedEcRecovered>
Consumes the type, recover signer and return TransactionSignedEcRecovered
without
ensuring that the signature has a low s
value (EIP-2).
Returns None
if the transaction’s signature is invalid, see also
Self::recover_signer_unchecked
.
sourcepub fn try_ecrecovered(&self) -> Option<TransactionSignedEcRecovered>
pub fn try_ecrecovered(&self) -> Option<TransactionSignedEcRecovered>
Tries to recover signer and return TransactionSignedEcRecovered
by cloning the type.
sourcepub fn try_into_ecrecovered(
self,
) -> Result<TransactionSignedEcRecovered, TransactionSigned>
pub fn try_into_ecrecovered( self, ) -> Result<TransactionSignedEcRecovered, TransactionSigned>
Tries to recover signer and return TransactionSignedEcRecovered
.
Returns Err(Self)
if the transaction’s signature is invalid, see also
Self::recover_signer
.
sourcepub fn try_into_ecrecovered_unchecked(
self,
) -> Result<TransactionSignedEcRecovered, TransactionSigned>
pub fn try_into_ecrecovered_unchecked( self, ) -> Result<TransactionSignedEcRecovered, TransactionSigned>
Tries to recover signer and return TransactionSignedEcRecovered
. without ensuring that
the signature has a low s
value (EIP-2).
Returns Err(Self)
if the transaction’s signature is invalid, see also
Self::recover_signer_unchecked
.
sourcepub fn envelope_encoded(&self) -> Bytes
pub fn envelope_encoded(&self) -> Bytes
Returns the enveloped encoded transactions.
See also TransactionSigned::encode_enveloped
sourcepub fn encode_enveloped(&self, out: &mut dyn BufMut)
pub fn encode_enveloped(&self, out: &mut dyn BufMut)
Encodes the transaction into the “raw” format (e.g. eth_sendRawTransaction
).
This format is also referred to as “binary” encoding.
For legacy transactions, it encodes the RLP of the transaction into the buffer:
rlp(tx-data)
For EIP-2718 typed it encodes the type of the transaction followed by the rlp of the
transaction: tx-type || rlp(tx-data)
sourcepub fn recalculate_hash(&self) -> FixedBytes<32>
pub fn recalculate_hash(&self) -> FixedBytes<32>
Calculate transaction hash, eip2728 transaction does not contain rlp header and start with tx type.
sourcepub fn from_transaction_and_signature(
transaction: Transaction,
signature: Signature,
) -> TransactionSigned
pub fn from_transaction_and_signature( transaction: Transaction, signature: Signature, ) -> TransactionSigned
Create a new signed transaction from a transaction and its signature.
This will also calculate the transaction hash using its encoding.
sourcepub fn size(&self) -> usize
pub fn size(&self) -> usize
Calculate a heuristic for the in-memory size of the TransactionSigned
.
sourcepub fn decode_rlp_legacy_transaction(
data: &mut &[u8],
) -> Result<TransactionSigned, Error>
pub fn decode_rlp_legacy_transaction( data: &mut &[u8], ) -> Result<TransactionSigned, Error>
Decodes legacy transaction from the data buffer.
This should be used only be used in general transaction decoding methods, which have
already ensured that the input is a legacy transaction with the following format:
rlp(legacy_tx)
Legacy transactions are encoded as lists, so the input should start with a RLP list header.
This expects rlp(legacy_tx)
sourcepub fn decode_enveloped_typed_transaction(
data: &mut &[u8],
) -> Result<TransactionSigned, Error>
pub fn decode_enveloped_typed_transaction( data: &mut &[u8], ) -> Result<TransactionSigned, Error>
Decodes an enveloped EIP-2718 typed transaction.
This should only be used internally in general transaction decoding methods,
which have already ensured that the input is a typed transaction with the following format:
tx-type || rlp(tx-data)
Note that this format does not start with any RLP header, and instead starts with a single byte indicating the transaction type.
CAUTION: this expects that data
is tx-type || rlp(tx-data)
sourcepub fn decode_enveloped(
input_data: &mut &[u8],
) -> Result<TransactionSigned, Error>
pub fn decode_enveloped( input_data: &mut &[u8], ) -> Result<TransactionSigned, Error>
Decodes the “raw” format of transaction (similar to eth_sendRawTransaction
).
This should be used for any RPC method that accepts a raw transaction. Currently, this includes:
eth_sendRawTransaction
.- All versions of
engine_newPayload
, in thetransactions
field.
A raw transaction is either a legacy transaction or EIP-2718 typed transaction.
For legacy transactions, the format is encoded as: rlp(tx-data)
. This format will start
with a RLP list header.
For EIP-2718 typed transactions, the format is encoded as the type of the transaction
followed by the rlp of the transaction: type || rlp(tx-data)
.
Both for legacy and EIP-2718 transactions, an error will be returned if there is an excess of bytes in input data.
sourcepub fn length_without_header(&self) -> usize
pub fn length_without_header(&self) -> usize
Returns the length without an RLP header - this is used for eth/68 sizes.
Methods from Deref<Target = Transaction>§
sourcepub fn signature_hash(&self) -> FixedBytes<32>
pub fn signature_hash(&self) -> FixedBytes<32>
Heavy operation that return signature hash over rlp encoded transaction. It is only for signature signing or signer recovery.
sourcepub fn kind(&self) -> TxKind
pub fn kind(&self) -> TxKind
Gets the transaction’s TxKind
, which is the address of the recipient or
TxKind::Create
if the transaction is a contract creation.
sourcepub fn to(&self) -> Option<Address>
pub fn to(&self) -> Option<Address>
Get the transaction’s address of the contract that will be called, or the address that will receive the transfer.
Returns None
if this is a CREATE
transaction.
sourcepub fn access_list(&self) -> Option<&AccessList>
pub fn access_list(&self) -> Option<&AccessList>
Returns the AccessList
of the transaction.
Returns None
for legacy transactions.
Returns the SignedAuthorization
list of the transaction.
Returns None
if this transaction is not EIP-7702.
sourcepub fn is_dynamic_fee(&self) -> bool
pub fn is_dynamic_fee(&self) -> bool
Returns true if the tx supports dynamic fees
sourcepub fn max_fee_per_gas(&self) -> u128
pub fn max_fee_per_gas(&self) -> u128
Max fee per gas for eip1559 transaction, for legacy transactions this is gas_price
.
This is also commonly referred to as the “Gas Fee Cap” (GasFeeCap
).
sourcepub fn max_priority_fee_per_gas(&self) -> Option<u128>
pub fn max_priority_fee_per_gas(&self) -> Option<u128>
Max priority fee per gas for eip1559 transaction, for legacy and eip2930 transactions this
is None
This is also commonly referred to as the “Gas Tip Cap” (GasTipCap
).
sourcepub fn blob_versioned_hashes(&self) -> Option<Vec<FixedBytes<32>>>
pub fn blob_versioned_hashes(&self) -> Option<Vec<FixedBytes<32>>>
Blob versioned hashes for eip4844 transaction, for legacy, eip1559, eip2930 and eip7702
transactions this is None
This is also commonly referred to as the “blob versioned hashes” (BlobVersionedHashes
).
sourcepub fn max_fee_per_blob_gas(&self) -> Option<u128>
pub fn max_fee_per_blob_gas(&self) -> Option<u128>
Max fee per blob gas for eip4844 transaction TxEip4844
.
Returns None
for non-eip4844 transactions.
This is also commonly referred to as the “Blob Gas Fee Cap” (BlobGasFeeCap
).
sourcepub fn blob_gas_used(&self) -> Option<u64>
pub fn blob_gas_used(&self) -> Option<u64>
Returns the blob gas used for all blobs of the EIP-4844 transaction if it is an EIP-4844 transaction.
This is the number of blobs times the
DATA_GAS_PER_BLOB
a single blob consumes.
sourcepub fn priority_fee_or_price(&self) -> u128
pub fn priority_fee_or_price(&self) -> u128
Return the max priority fee per gas if the transaction is an EIP-1559 transaction, and otherwise return the gas price.
§Warning
This is different than the max_priority_fee_per_gas
method, which returns None
for
non-EIP-1559 transactions.
sourcepub fn effective_gas_price(&self, base_fee: Option<u64>) -> u128
pub fn effective_gas_price(&self, base_fee: Option<u64>) -> u128
Returns the effective gas price for the given base fee.
If the transaction is a legacy or EIP2930 transaction, the gas price is returned.
sourcepub fn effective_tip_per_gas(&self, base_fee: Option<u64>) -> Option<u128>
pub fn effective_tip_per_gas(&self, base_fee: Option<u64>) -> Option<u128>
Returns the effective miner gas tip cap (gasTipCap
) for the given base fee:
min(maxFeePerGas - baseFee, maxPriorityFeePerGas)
If the base fee is None
, the max_priority_fee_per_gas
, or gas price for non-EIP1559
transactions is returned.
Returns None
if the basefee is higher than the Transaction::max_fee_per_gas
.
sourcepub fn source_hash(&self) -> Option<FixedBytes<32>>
Available on crate feature optimism
only.
pub fn source_hash(&self) -> Option<FixedBytes<32>>
optimism
only.Returns the source hash of the transaction, which uniquely identifies its source.
If not a deposit transaction, this will always return None
.
sourcepub fn mint(&self) -> Option<u128>
Available on crate feature optimism
only.
pub fn mint(&self) -> Option<u128>
optimism
only.Returns the amount of ETH locked up on L1 that will be minted on L2. If the transaction
is not a deposit transaction, this will always return None
.
sourcepub fn is_system_transaction(&self) -> bool
Available on crate feature optimism
only.
pub fn is_system_transaction(&self) -> bool
optimism
only.Returns whether or not the transaction is a system transaction. If the transaction
is not a deposit transaction, this will always return false
.
sourcepub fn is_deposit(&self) -> bool
Available on crate feature optimism
only.
pub fn is_deposit(&self) -> bool
optimism
only.Returns whether or not the transaction is an Optimism Deposited transaction.
sourcepub fn encode_without_signature(&self, out: &mut dyn BufMut)
pub fn encode_without_signature(&self, out: &mut dyn BufMut)
This encodes the transaction without the signature, and is only suitable for creating a hash intended for signing.
sourcepub fn encode_with_signature(
&self,
signature: &Signature,
out: &mut dyn BufMut,
with_header: bool,
)
pub fn encode_with_signature( &self, signature: &Signature, out: &mut dyn BufMut, with_header: bool, )
Inner encoding function that is used for both rlp [Encodable
] trait and for calculating
hash that for eip2718 does not require rlp header
sourcepub fn size(&self) -> usize
pub fn size(&self) -> usize
Calculates a heuristic for the in-memory size of the Transaction.
sourcepub fn is_eip2930(&self) -> bool
pub fn is_eip2930(&self) -> bool
Returns true if the transaction is an EIP-2930 transaction.
sourcepub fn is_eip1559(&self) -> bool
pub fn is_eip1559(&self) -> bool
Returns true if the transaction is an EIP-1559 transaction.
sourcepub fn is_eip4844(&self) -> bool
pub fn is_eip4844(&self) -> bool
Returns true if the transaction is an EIP-4844 transaction.
sourcepub fn is_eip7702(&self) -> bool
pub fn is_eip7702(&self) -> bool
Returns true if the transaction is an EIP-7702 transaction.
sourcepub fn as_legacy(&self) -> Option<&TxLegacy>
pub fn as_legacy(&self) -> Option<&TxLegacy>
Returns the TxLegacy
variant if the transaction is a legacy transaction.
sourcepub fn as_eip2930(&self) -> Option<&TxEip2930>
pub fn as_eip2930(&self) -> Option<&TxEip2930>
Returns the TxEip2930
variant if the transaction is an EIP-2930 transaction.
sourcepub fn as_eip1559(&self) -> Option<&TxEip1559>
pub fn as_eip1559(&self) -> Option<&TxEip1559>
Returns the TxEip1559
variant if the transaction is an EIP-1559 transaction.
sourcepub fn as_eip4844(&self) -> Option<&TxEip4844>
pub fn as_eip4844(&self) -> Option<&TxEip4844>
Returns the TxEip4844
variant if the transaction is an EIP-4844 transaction.
sourcepub fn as_eip7702(&self) -> Option<&TxEip7702>
pub fn as_eip7702(&self) -> Option<&TxEip7702>
Returns the TxEip7702
variant if the transaction is an EIP-7702 transaction.
Trait Implementations§
source§impl<'a> Arbitrary<'a> for TransactionSigned
Available on crate feature arbitrary
only.
impl<'a> Arbitrary<'a> for TransactionSigned
arbitrary
only.source§fn arbitrary(u: &mut Unstructured<'a>) -> Result<TransactionSigned, Error>
fn arbitrary(u: &mut Unstructured<'a>) -> Result<TransactionSigned, Error>
Self
from the given unstructured data. Read more§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Self
from the entirety of the given
unstructured data. Read moresource§impl AsRef<Transaction> for TransactionSigned
impl AsRef<Transaction> for TransactionSigned
source§fn as_ref(&self) -> &Transaction
fn as_ref(&self) -> &Transaction
source§impl AsRef<TransactionSigned> for TransactionSigned
impl AsRef<TransactionSigned> for TransactionSigned
source§fn as_ref(&self) -> &TransactionSigned
fn as_ref(&self) -> &TransactionSigned
source§impl AsRef<TransactionSigned> for TransactionSignedEcRecovered
impl AsRef<TransactionSigned> for TransactionSignedEcRecovered
source§fn as_ref(&self) -> &TransactionSigned
fn as_ref(&self) -> &TransactionSigned
source§impl Clone for TransactionSigned
impl Clone for TransactionSigned
source§fn clone(&self) -> TransactionSigned
fn clone(&self) -> TransactionSigned
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for TransactionSigned
impl Debug for TransactionSigned
source§impl Decodable for TransactionSigned
impl Decodable for TransactionSigned
source§fn decode(buf: &mut &[u8]) -> Result<TransactionSigned, Error>
fn decode(buf: &mut &[u8]) -> Result<TransactionSigned, Error>
This Decodable
implementation only supports decoding rlp encoded transactions as it’s used
by p2p.
The p2p encoding format always includes an RLP header, although the type RLP header depends on whether or not the transaction is a legacy transaction.
If the transaction is a legacy transaction, it is just encoded as a RLP list:
rlp(tx-data)
.
If the transaction is a typed transaction, it is encoded as a RLP string:
rlp(tx-type || rlp(tx-data))
This can be used for decoding all signed transactions in p2p BlockBodies
responses.
This cannot be used for decoding EIP-4844 transactions in p2p PooledTransactions
, since
the EIP-4844 variant of TransactionSigned
does not include the blob sidecar.
For a method suitable for decoding pooled transactions, see PooledTransactionsElement
.
CAUTION: Due to a quirk in [Header::decode
], this method will succeed even if a typed
transaction is encoded in this format, and does not start with a RLP header:
tx-type || rlp(tx-data)
.
This is because [Header::decode
] does not advance the buffer, and returns a length-1
string header if the first byte is less than 0xf7
.
source§impl Default for TransactionSigned
impl Default for TransactionSigned
source§fn default() -> TransactionSigned
fn default() -> TransactionSigned
source§impl Deref for TransactionSigned
impl Deref for TransactionSigned
source§type Target = Transaction
type Target = Transaction
source§impl<'de> Deserialize<'de> for TransactionSigned
impl<'de> Deserialize<'de> for TransactionSigned
source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<TransactionSigned, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<TransactionSigned, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
source§impl Encodable for TransactionSigned
impl Encodable for TransactionSigned
source§fn encode(&self, out: &mut dyn BufMut)
fn encode(&self, out: &mut dyn BufMut)
This encodes the transaction with the signature, and an rlp header.
For legacy transactions, it encodes the transaction data:
rlp(tx-data)
For EIP-2718 typed transactions, it encodes the transaction type followed by the rlp of the
transaction:
rlp(tx-type || rlp(tx-data))
source§impl FillTxEnv for TransactionSigned
impl FillTxEnv for TransactionSigned
source§impl From<TransactionSigned> for TransactionSignedNoHash
impl From<TransactionSigned> for TransactionSignedNoHash
source§fn from(tx: TransactionSigned) -> TransactionSignedNoHash
fn from(tx: TransactionSigned) -> TransactionSignedNoHash
source§impl From<TransactionSigned> for TransactionSignedVariant
impl From<TransactionSigned> for TransactionSignedVariant
source§fn from(value: TransactionSigned) -> TransactionSignedVariant
fn from(value: TransactionSigned) -> TransactionSignedVariant
source§impl From<TransactionSignedEcRecovered> for TransactionSigned
impl From<TransactionSignedEcRecovered> for TransactionSigned
source§fn from(recovered: TransactionSignedEcRecovered) -> TransactionSigned
fn from(recovered: TransactionSignedEcRecovered) -> TransactionSigned
source§impl From<TransactionSignedNoHash> for TransactionSigned
impl From<TransactionSignedNoHash> for TransactionSigned
source§fn from(tx: TransactionSignedNoHash) -> TransactionSigned
fn from(tx: TransactionSignedNoHash) -> TransactionSigned
source§impl Hash for TransactionSigned
impl Hash for TransactionSigned
source§impl PartialEq for TransactionSigned
impl PartialEq for TransactionSigned
source§impl Serialize for TransactionSigned
impl Serialize for TransactionSigned
source§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,
source§impl TryFrom<TransactionSigned> for PooledTransactionsElement
impl TryFrom<TransactionSigned> for PooledTransactionsElement
source§type Error = TransactionConversionError
type Error = TransactionConversionError
source§fn try_from(
tx: TransactionSigned,
) -> Result<PooledTransactionsElement, <PooledTransactionsElement as TryFrom<TransactionSigned>>::Error>
fn try_from( tx: TransactionSigned, ) -> Result<PooledTransactionsElement, <PooledTransactionsElement as TryFrom<TransactionSigned>>::Error>
source§impl TryFrom<WithOtherFields<Transaction>> for TransactionSigned
impl TryFrom<WithOtherFields<Transaction>> for TransactionSigned
source§type Error = ConversionError
type Error = ConversionError
source§fn try_from(
tx: WithOtherFields<Transaction>,
) -> Result<TransactionSigned, <TransactionSigned as TryFrom<WithOtherFields<Transaction>>>::Error>
fn try_from( tx: WithOtherFields<Transaction>, ) -> Result<TransactionSigned, <TransactionSigned as TryFrom<WithOtherFields<Transaction>>>::Error>
impl Eq for TransactionSigned
impl StructuralPartialEq for TransactionSigned
Auto Trait Implementations§
impl !Freeze for TransactionSigned
impl RefUnwindSafe for TransactionSigned
impl Send for TransactionSigned
impl Sync for TransactionSigned
impl Unpin for TransactionSigned
impl UnwindSafe for TransactionSigned
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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> ⓘ
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> 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 more§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> Pointable for T
impl<T> Pointable for T
§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.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> ⓘwhere
S: Into<Dispatch>,
source§fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ
impl<A> ArbInterop for A
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<T> MaybeDebug for Twhere
T: Debug,
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSendSync for T
impl<T> NippyJarHeader for T
impl<T> RpcObject for Twhere
T: RpcParam + RpcReturn,
impl<T> RpcParam for T
impl<T> RpcReturn for T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 352 bytes