Struct alloy_provider::RootProvider
source · pub struct RootProvider<T, N: Network = Ethereum> { /* private fields */ }
Expand description
The root provider manages the RPC client and the heartbeat. It is at the base of every provider stack.
Implementations§
source§impl<N: Network> RootProvider<BoxTransport, N>
impl<N: Network> RootProvider<BoxTransport, N>
sourcepub async fn connect_boxed<C: BoxTransportConnect>(
conn: C,
) -> Result<Self, TransportError>
pub async fn connect_boxed<C: BoxTransportConnect>( conn: C, ) -> Result<Self, TransportError>
Connects to a boxed transport with the given connector.
sourcepub async fn connect_builtin(s: &str) -> Result<Self, TransportError>
pub async fn connect_builtin(s: &str) -> Result<Self, TransportError>
Creates a new root provider from the provided connection details.
source§impl<T: Transport + Clone, N: Network> RootProvider<T, N>
impl<T: Transport + Clone, N: Network> RootProvider<T, N>
sourcepub fn boxed(self) -> RootProvider<BoxTransport, N>
pub fn boxed(self) -> RootProvider<BoxTransport, N>
Boxes the inner client.
This will create a new provider if this instance is not the only reference to the inner client.
Trait Implementations§
source§impl<T, N: Network> Clone for RootProvider<T, N>
impl<T, N: Network> Clone for RootProvider<T, N>
source§impl<T: Transport + Clone, N: Network> Provider<T, N> for RootProvider<T, N>
impl<T: Transport + Clone, N: Network> Provider<T, N> for RootProvider<T, N>
source§fn weak_client(&self) -> WeakClient<T>
fn weak_client(&self) -> WeakClient<T>
source§fn watch_pending_transaction<'life0, 'async_trait>(
&'life0 self,
config: PendingTransactionConfig,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction, PendingTransactionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn watch_pending_transaction<'life0, 'async_trait>(
&'life0 self,
config: PendingTransactionConfig,
) -> Pin<Box<dyn Future<Output = Result<PendingTransaction, PendingTransactionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Watch for the confirmation of a single pending transaction with the given configuration. Read more
source§fn builder() -> ProviderBuilder<Identity, Identity, N>where
Self: Sized,
fn builder() -> ProviderBuilder<Identity, Identity, N>where
Self: Sized,
Returns the
ProviderBuilder
to build on.source§fn get_accounts(&self) -> ProviderCall<T, NoParams, Vec<Address>> ⓘ
fn get_accounts(&self) -> ProviderCall<T, NoParams, Vec<Address>> ⓘ
Gets the accounts in the remote node. This is usually empty unless you’re using a local
node.
source§fn get_blob_base_fee(&self) -> ProviderCall<T, NoParams, U128, u128> ⓘ
fn get_blob_base_fee(&self) -> ProviderCall<T, NoParams, U128, u128> ⓘ
Returns the base fee per blob gas (blob gas price) in wei.
source§fn get_block_number(&self) -> ProviderCall<T, NoParams, U64, BlockNumber> ⓘ
fn get_block_number(&self) -> ProviderCall<T, NoParams, U64, BlockNumber> ⓘ
Get the last block number available.
source§fn call<'req>(
&self,
tx: &'req N::TransactionRequest,
) -> EthCall<'req, T, N, Bytes>
fn call<'req>( &self, tx: &'req N::TransactionRequest, ) -> EthCall<'req, T, N, Bytes>
Execute a smart contract call with a transaction request and state
overrides, without publishing a transaction. Read more
source§fn simulate<'req>(
&self,
payload: &'req SimulatePayload,
) -> RpcWithBlock<T, &'req SimulatePayload, Vec<SimulatedBlock<N::BlockResponse>>>
fn simulate<'req>( &self, payload: &'req SimulatePayload, ) -> RpcWithBlock<T, &'req SimulatePayload, Vec<SimulatedBlock<N::BlockResponse>>>
Executes an arbitrary number of transactions on top of the requested state. Read more
source§fn get_chain_id(&self) -> ProviderCall<T, NoParams, U64, u64> ⓘ
fn get_chain_id(&self) -> ProviderCall<T, NoParams, U64, u64> ⓘ
Gets the chain ID.
source§fn create_access_list<'a>(
&self,
request: &'a N::TransactionRequest,
) -> RpcWithBlock<T, &'a N::TransactionRequest, AccessListResult>
fn create_access_list<'a>( &self, request: &'a N::TransactionRequest, ) -> RpcWithBlock<T, &'a N::TransactionRequest, AccessListResult>
Create an EIP-2930 access list.
source§fn estimate_gas<'req>(
&self,
tx: &'req N::TransactionRequest,
) -> EthCall<'req, T, N, U64, u64>
fn estimate_gas<'req>( &self, tx: &'req N::TransactionRequest, ) -> EthCall<'req, T, N, U64, u64>
This function returns an
EthCall
which can be used to get a gas estimate,
or to add StateOverride
or a BlockId
. If no overrides
or block ID is provided, the gas estimate will be computed for the latest block
with the current state. Read moresource§fn estimate_eip1559_fees<'life0, 'async_trait>(
&'life0 self,
estimator: Option<EstimatorFunction>,
) -> Pin<Box<dyn Future<Output = TransportResult<Eip1559Estimation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn estimate_eip1559_fees<'life0, 'async_trait>(
&'life0 self,
estimator: Option<EstimatorFunction>,
) -> Pin<Box<dyn Future<Output = TransportResult<Eip1559Estimation>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
source§fn get_fee_history<'life0, 'life1, 'async_trait>(
&'life0 self,
block_count: u64,
last_block: BlockNumberOrTag,
reward_percentiles: &'life1 [f64],
) -> Pin<Box<dyn Future<Output = TransportResult<FeeHistory>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_fee_history<'life0, 'life1, 'async_trait>(
&'life0 self,
block_count: u64,
last_block: BlockNumberOrTag,
reward_percentiles: &'life1 [f64],
) -> Pin<Box<dyn Future<Output = TransportResult<FeeHistory>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Returns a collection of historical gas information FeeHistory which
can be used to calculate the EIP1559 fields
maxFeePerGas
and maxPriorityFeePerGas
.
block_count
can range from 1 to 1024 blocks in a single request.source§fn get_gas_price(&self) -> ProviderCall<T, NoParams, U128, u128> ⓘ
fn get_gas_price(&self) -> ProviderCall<T, NoParams, U128, u128> ⓘ
Gets the current gas price in wei.
source§fn get_account(&self, address: Address) -> RpcWithBlock<T, Address, Account>
fn get_account(&self, address: Address) -> RpcWithBlock<T, Address, Account>
source§fn get_balance(&self, address: Address) -> RpcWithBlock<T, Address, U256, U256>
fn get_balance(&self, address: Address) -> RpcWithBlock<T, Address, U256, U256>
Gets the balance of the account. Read more
source§fn get_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
kind: BlockTransactionsKind,
) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block<'life0, 'async_trait>(
&'life0 self,
block: BlockId,
kind: BlockTransactionsKind,
) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets a block by either its hash, tag, or number, with full transactions or only hashes.
source§fn get_block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: BlockHash,
kind: BlockTransactionsKind,
) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_by_hash<'life0, 'async_trait>(
&'life0 self,
hash: BlockHash,
kind: BlockTransactionsKind,
) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets a block by its BlockHash, with full transactions or only hashes.
source§fn get_block_by_number<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
hydrate: bool,
) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_block_by_number<'life0, 'async_trait>(
&'life0 self,
number: BlockNumberOrTag,
hydrate: bool,
) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a block by its number.
source§fn get_block_receipts(
&self,
block: BlockId,
) -> ProviderCall<T, (BlockId,), Option<Vec<N::ReceiptResponse>>> ⓘ
fn get_block_receipts( &self, block: BlockId, ) -> ProviderCall<T, (BlockId,), Option<Vec<N::ReceiptResponse>>> ⓘ
Gets the selected block BlockId receipts.
source§fn get_code_at(&self, address: Address) -> RpcWithBlock<T, Address, Bytes>
fn get_code_at(&self, address: Address) -> RpcWithBlock<T, Address, Bytes>
Gets the bytecode located at the corresponding Address.
source§fn watch_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, B256>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn watch_blocks<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, B256>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Watch for new blocks by polling the provider with
eth_getFilterChanges
. Read moresource§fn watch_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, B256>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn watch_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, B256>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Watch for new pending transaction by polling the provider with
eth_getFilterChanges
. Read moresource§fn watch_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, Log>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn watch_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, Log>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Watch for new logs using the given filter by polling the provider with
eth_getFilterChanges
. Read moresource§fn watch_full_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, N::TransactionResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn watch_full_pending_transactions<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterPollerBuilder<T, N::TransactionResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Watch for new pending transaction bodies by polling the provider with
eth_getFilterChanges
. Read moresource§fn get_filter_changes<'life0, 'async_trait, R>(
&'life0 self,
id: U256,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<R>>> + Send + 'async_trait>>
fn get_filter_changes<'life0, 'async_trait, R>( &'life0 self, id: U256, ) -> Pin<Box<dyn Future<Output = TransportResult<Vec<R>>> + Send + 'async_trait>>
Get a list of values that have been added since the last poll. Read more
source§fn get_filter_changes_dyn<'life0, 'async_trait>(
&'life0 self,
id: U256,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterChanges>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_filter_changes_dyn<'life0, 'async_trait>(
&'life0 self,
id: U256,
) -> Pin<Box<dyn Future<Output = TransportResult<FilterChanges>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Get a list of values that have been added since the last poll. Read more
source§fn get_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Log>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn get_logs<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = TransportResult<Vec<Log>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
source§fn get_proof(
&self,
address: Address,
keys: Vec<StorageKey>,
) -> RpcWithBlock<T, (Address, Vec<StorageKey>), EIP1186AccountProofResponse>
fn get_proof( &self, address: Address, keys: Vec<StorageKey>, ) -> RpcWithBlock<T, (Address, Vec<StorageKey>), EIP1186AccountProofResponse>
Get the account and storage values of the specified account including the merkle proofs. Read more
source§fn get_storage_at(
&self,
address: Address,
key: U256,
) -> RpcWithBlock<T, (Address, U256), StorageValue>
fn get_storage_at( &self, address: Address, key: U256, ) -> RpcWithBlock<T, (Address, U256), StorageValue>
Gets the specified storage value from Address.
source§fn get_transaction_by_hash(
&self,
hash: TxHash,
) -> ProviderCall<T, (TxHash,), Option<N::TransactionResponse>> ⓘ
fn get_transaction_by_hash( &self, hash: TxHash, ) -> ProviderCall<T, (TxHash,), Option<N::TransactionResponse>> ⓘ
Gets a transaction by its TxHash.
source§fn get_raw_transaction_by_hash(
&self,
hash: TxHash,
) -> ProviderCall<T, (TxHash,), Option<Bytes>> ⓘ
fn get_raw_transaction_by_hash( &self, hash: TxHash, ) -> ProviderCall<T, (TxHash,), Option<Bytes>> ⓘ
Returns the EIP-2718 encoded transaction if it exists, see also
Decodable2718. Read more
source§fn get_transaction_count(
&self,
address: Address,
) -> RpcWithBlock<T, Address, U64, u64, fn(_: U64) -> u64>
fn get_transaction_count( &self, address: Address, ) -> RpcWithBlock<T, Address, U64, u64, fn(_: U64) -> u64>
Gets the transaction count (AKA “nonce”) of the corresponding address.
source§fn get_transaction_receipt(
&self,
hash: TxHash,
) -> ProviderCall<T, (TxHash,), Option<N::ReceiptResponse>> ⓘ
fn get_transaction_receipt( &self, hash: TxHash, ) -> ProviderCall<T, (TxHash,), Option<N::ReceiptResponse>> ⓘ
Gets a transaction receipt if it exists, by its TxHash.
source§fn get_uncle<'life0, 'async_trait>(
&'life0 self,
tag: BlockId,
idx: u64,
) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_uncle<'life0, 'async_trait>(
&'life0 self,
tag: BlockId,
idx: u64,
) -> Pin<Box<dyn Future<Output = TransportResult<Option<N::BlockResponse>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
source§fn get_uncle_count<'life0, 'async_trait>(
&'life0 self,
tag: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn get_uncle_count<'life0, 'async_trait>(
&'life0 self,
tag: BlockId,
) -> Pin<Box<dyn Future<Output = TransportResult<u64>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Gets the number of uncles for the block specified by the tag BlockId.
source§fn get_max_priority_fee_per_gas(&self) -> ProviderCall<T, NoParams, U128, u128> ⓘ
fn get_max_priority_fee_per_gas(&self) -> ProviderCall<T, NoParams, U128, u128> ⓘ
Returns a suggestion for the current
maxPriorityFeePerGas
in wei.source§fn new_block_filter<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn new_block_filter<'life0, 'async_trait>(
&'life0 self,
) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Notify the provider that we are interested in new blocks. Read more
source§fn new_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn new_filter<'life0, 'life1, 'async_trait>(
&'life0 self,
filter: &'life1 Filter,
) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Notify the provider that we are interested in logs that match the given filter. Read more
source§fn new_pending_transactions_filter<'life0, 'async_trait>(
&'life0 self,
full: bool,
) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn new_pending_transactions_filter<'life0, 'async_trait>(
&'life0 self,
full: bool,
) -> Pin<Box<dyn Future<Output = TransportResult<U256>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Notify the provider that we are interested in new pending transactions. Read more
source§fn send_raw_transaction<'life0, 'life1, 'async_trait>(
&'life0 self,
encoded_tx: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<'_, T, N>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn send_raw_transaction<'life0, 'life1, 'async_trait>(
&'life0 self,
encoded_tx: &'life1 [u8],
) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<'_, T, N>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Broadcasts a raw transaction RLP bytes to the network. Read more
source§fn send_transaction<'life0, 'async_trait>(
&'life0 self,
tx: N::TransactionRequest,
) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<'_, T, N>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_transaction<'life0, 'async_trait>(
&'life0 self,
tx: N::TransactionRequest,
) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<'_, T, N>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Broadcasts a transaction to the network. Read more
source§fn send_tx_envelope<'life0, 'async_trait>(
&'life0 self,
tx: N::TxEnvelope,
) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<'_, T, N>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn send_tx_envelope<'life0, 'async_trait>(
&'life0 self,
tx: N::TxEnvelope,
) -> Pin<Box<dyn Future<Output = TransportResult<PendingTransactionBuilder<'_, T, N>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Broadcasts a transaction envelope to the network. Read more
source§fn syncing(&self) -> ProviderCall<T, NoParams, SyncStatus> ⓘ
fn syncing(&self) -> ProviderCall<T, NoParams, SyncStatus> ⓘ
Gets syncing info.
source§fn get_client_version(&self) -> ProviderCall<T, NoParams, String> ⓘ
fn get_client_version(&self) -> ProviderCall<T, NoParams, String> ⓘ
Gets the client version.
source§fn get_sha3(&self, data: &[u8]) -> ProviderCall<T, (String,), B256> ⓘ
fn get_sha3(&self, data: &[u8]) -> ProviderCall<T, (String,), B256> ⓘ
Gets the
Keccak-256
hash of the given data.source§fn get_net_version(&self) -> ProviderCall<T, NoParams, U64, u64> ⓘ
fn get_net_version(&self) -> ProviderCall<T, NoParams, U64, u64> ⓘ
Gets the network ID. Same as
eth_chainId
.source§fn raw_request<'life0, 'async_trait, P, R>(
&'life0 self,
method: Cow<'static, str>,
params: P,
) -> Pin<Box<dyn Future<Output = TransportResult<R>> + Send + 'async_trait>>
fn raw_request<'life0, 'async_trait, P, R>( &'life0 self, method: Cow<'static, str>, params: P, ) -> Pin<Box<dyn Future<Output = TransportResult<R>> + Send + 'async_trait>>
Sends a raw JSON-RPC request. Read more
source§fn raw_request_dyn<'life0, 'life1, 'async_trait>(
&'life0 self,
method: Cow<'static, str>,
params: &'life1 RawValue,
) -> Pin<Box<dyn Future<Output = TransportResult<Box<RawValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn raw_request_dyn<'life0, 'life1, 'async_trait>(
&'life0 self,
method: Cow<'static, str>,
params: &'life1 RawValue,
) -> Pin<Box<dyn Future<Output = TransportResult<Box<RawValue>>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Sends a raw JSON-RPC request with type-erased parameters and return. Read more
source§fn transaction_request(&self) -> N::TransactionRequest
fn transaction_request(&self) -> N::TransactionRequest
Creates a new
TransactionRequest
.Auto Trait Implementations§
impl<T, N> Freeze for RootProvider<T, N>
impl<T, N = Ethereum> !RefUnwindSafe for RootProvider<T, N>
impl<T, N> Send for RootProvider<T, N>
impl<T, N> Sync for RootProvider<T, N>
impl<T, N> Unpin for RootProvider<T, N>
impl<T, N = Ethereum> !UnwindSafe for RootProvider<T, N>
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
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§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,
Causes
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
Causes
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
Causes
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
Causes
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
Causes
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
Causes
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
Causes
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
Causes
self
to use its UpperHex
implementation when
Debug
-formatted.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>
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 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>
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 moresource§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) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§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
source§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
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) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.source§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
Borrows
self
, then passes self.deref()
into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
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.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.source§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
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.source§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
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.