pub struct Runtime<'a, R> { /* private fields */ }Expand description
Represents the runtime properties of a WASM execution.
Implementations
sourceimpl<'a, R> Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcepub fn call_contract(
&mut self,
contract_hash: ContractHash,
entry_point_name: &str,
args: RuntimeArgs
) -> Result<CLValue, Error>
pub fn call_contract(
&mut self,
contract_hash: ContractHash,
entry_point_name: &str,
args: RuntimeArgs
) -> Result<CLValue, Error>
Calls contract living under a key, with supplied args.
sourcepub fn call_versioned_contract(
&mut self,
contract_package_hash: ContractPackageHash,
contract_version: Option<ContractVersion>,
entry_point_name: String,
args: RuntimeArgs
) -> Result<CLValue, Error>
pub fn call_versioned_contract(
&mut self,
contract_package_hash: ContractPackageHash,
contract_version: Option<ContractVersion>,
entry_point_name: String,
args: RuntimeArgs
) -> Result<CLValue, Error>
Calls version of the contract living at key, invoking method with
supplied args. This function also checks the args conform with the
types given in the contract header.
sourcepub fn take_host_buffer(&mut self) -> Option<CLValue>
pub fn take_host_buffer(&mut self) -> Option<CLValue>
If host_buffer set, clears the host_buffer and returns value, else None
Trait Implementations
sourceimpl<'a, R> AccountProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> AccountProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn get_main_purse(&self) -> Result<URef, Error>
fn get_main_purse(&self) -> Result<URef, Error>
Get currently executing account’s purse.
sourceimpl<'a, R> AccountProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> AccountProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn get_main_purse(&mut self) -> Result<URef, ApiError>
fn get_main_purse(&mut self) -> Result<URef, ApiError>
Get currently executing account’s purse.
sourceimpl<'a, R> Auction for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> Auction for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn get_era_validators(
&mut self
) -> Result<BTreeMap<EraId, BTreeMap<PublicKey, U512>>, Error>
fn get_era_validators(
&mut self
) -> Result<BTreeMap<EraId, BTreeMap<PublicKey, U512>>, Error>
Returns active validators and auction winners for a number of future eras determined by the configured auction_delay. Read more
sourcefn read_seigniorage_recipients(
&mut self
) -> Result<BTreeMap<PublicKey, SeigniorageRecipient>, Error>
fn read_seigniorage_recipients(
&mut self
) -> Result<BTreeMap<PublicKey, SeigniorageRecipient>, Error>
Returns validators in era_validators, mapped to their bids or founding stakes, delegation rates and lists of delegators together with their delegated quantities from delegators. This function is publicly accessible, but intended for system use by the Handle Payment contract, because this data is necessary for distributing seigniorage. Read more
sourcefn add_bid(
&mut self,
public_key: PublicKey,
delegation_rate: u8,
amount: U512
) -> Result<U512, ApiError>
fn add_bid(
&mut self,
public_key: PublicKey,
delegation_rate: u8,
amount: U512
) -> Result<U512, ApiError>
This entry point adds or modifies an entry in the Key::Bid section of the global state and
creates (or tops off) a bid purse. Post genesis, any new call on this entry point causes a
non-founding validator in the system to exist. Read more
sourcefn withdraw_bid(
&mut self,
public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
fn withdraw_bid(
&mut self,
public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
For a non-founder validator, this method simply decreases a stake. Read more
sourcefn delegate(
&mut self,
delegator_public_key: PublicKey,
validator_public_key: PublicKey,
amount: U512,
max_delegator_size_limit: usize,
minimum_delegation_amount: u64
) -> Result<U512, ApiError>
fn delegate(
&mut self,
delegator_public_key: PublicKey,
validator_public_key: PublicKey,
amount: U512,
max_delegator_size_limit: usize,
minimum_delegation_amount: u64
) -> Result<U512, ApiError>
Adds a new delegator to delegators or increases its current stake. If the target validator is missing, the function call returns an error and does nothing. Read more
sourcefn undelegate(
&mut self,
delegator_public_key: PublicKey,
validator_public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
fn undelegate(
&mut self,
delegator_public_key: PublicKey,
validator_public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
Removes specified amount of motes (or the value from the collection altogether, if the remaining amount is 0) from the entry in delegators map for given validator and creates a new unbonding request to the queue. Read more
sourcefn slash(
&mut self,
validator_public_keys: Vec<PublicKey, Global>
) -> Result<(), Error>
fn slash(
&mut self,
validator_public_keys: Vec<PublicKey, Global>
) -> Result<(), Error>
Slashes each validator. Read more
sourcefn run_auction(
&mut self,
era_end_timestamp_millis: u64,
evicted_validators: Vec<PublicKey, Global>
) -> Result<(), Error>
fn run_auction(
&mut self,
era_end_timestamp_millis: u64,
evicted_validators: Vec<PublicKey, Global>
) -> Result<(), Error>
Takes active_bids and delegators to construct a list of validators’ total bids (their own added to their delegators’) ordered by size from largest to smallest, then takes the top N (number of auction slots) bidders and replaces era_validators with these. Read more
sourcefn distribute(
&mut self,
reward_factors: BTreeMap<PublicKey, u64>
) -> Result<(), Error>
fn distribute(
&mut self,
reward_factors: BTreeMap<PublicKey, u64>
) -> Result<(), Error>
Mint and distribute seigniorage rewards to validators and their delegators,
according to reward_factors returned by the consensus component. Read more
sourcefn read_era_id(&mut self) -> Result<EraId, Error>
fn read_era_id(&mut self) -> Result<EraId, Error>
Reads current era id.
sourceimpl<'a, R> Externals for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> Externals for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn invoke_index(
&mut self,
index: usize,
args: RuntimeArgs<'_>
) -> Result<Option<RuntimeValue>, Trap>
fn invoke_index(
&mut self,
index: usize,
args: RuntimeArgs<'_>
) -> Result<Option<RuntimeValue>, Trap>
Perform invoke of a host function by specified index.
sourceimpl<'a, R> HandlePayment for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> HandlePayment for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn get_payment_purse(&self) -> Result<URef, Error>
fn get_payment_purse(&self) -> Result<URef, Error>
Get payment purse.
sourcefn finalize_payment(
&mut self,
amount_spent: U512,
account: AccountHash,
target: URef
) -> Result<(), Error>
fn finalize_payment(
&mut self,
amount_spent: U512,
account: AccountHash,
target: URef
) -> Result<(), Error>
Finalize payment with amount_spent and a given account.
sourceimpl<'a, R> HandlePaymentProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> HandlePaymentProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn get_payment_purse(&mut self) -> Result<URef, ApiError>
fn get_payment_purse(&mut self) -> Result<URef, ApiError>
Get payment purse for given deploy.
sourceimpl<'a, R> Mint for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> Mint for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn mint(&mut self, initial_balance: U512) -> Result<URef, Error>
fn mint(&mut self, initial_balance: U512) -> Result<URef, Error>
Mint new token with given initial_balance balance. Returns new purse on success, otherwise
an error. Read more
sourcefn reduce_total_supply(&mut self, amount: U512) -> Result<(), Error>
fn reduce_total_supply(&mut self, amount: U512) -> Result<(), Error>
Reduce total supply by amount. Returns unit on success, otherwise
an error. Read more
sourcefn transfer(
&mut self,
maybe_to: Option<AccountHash>,
source: URef,
target: URef,
amount: U512,
id: Option<u64>
) -> Result<(), Error>
fn transfer(
&mut self,
maybe_to: Option<AccountHash>,
source: URef,
target: URef,
amount: U512,
id: Option<u64>
) -> Result<(), Error>
Transfers amount of tokens from source purse to a target purse.
sourcefn read_base_round_reward(&mut self) -> Result<U512, Error>
fn read_base_round_reward(&mut self) -> Result<U512, Error>
Retrieves the base round reward.
sourceimpl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn mint_transfer_direct(
&mut self,
to: Option<AccountHash>,
source: URef,
target: URef,
amount: U512,
id: Option<u64>
) -> Result<Result<(), Error>, Error>
fn mint_transfer_direct(
&mut self,
to: Option<AccountHash>,
source: URef,
target: URef,
amount: U512,
id: Option<u64>
) -> Result<Result<(), Error>, Error>
Allows optimized auction and mint interaction. Intended to be used only by system contracts to manage staked purses. NOTE: Never expose this through FFI.
sourcefn unbond(&mut self, unbonding_purse: &UnbondingPurse) -> Result<(), Error>
fn unbond(&mut self, unbonding_purse: &UnbondingPurse) -> Result<(), Error>
Returns successfully unbonded stake to origin account.
sourcefn mint_into_existing_purse(
&mut self,
amount: U512,
existing_purse: URef
) -> Result<(), Error>
fn mint_into_existing_purse(
&mut self,
amount: U512,
existing_purse: URef
) -> Result<(), Error>
Mint amount new token into existing_purse.
Returns unit on success, otherwise an error. Read more
sourcefn create_purse(&mut self) -> Result<URef, Error>
fn create_purse(&mut self) -> Result<URef, Error>
Creates new purse.
sourcefn read_base_round_reward(&mut self) -> Result<U512, Error>
fn read_base_round_reward(&mut self) -> Result<U512, Error>
Reads the base round reward.
sourceimpl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn transfer_purse_to_account(
&mut self,
source: URef,
target: AccountHash,
amount: U512
) -> Result<TransferredTo, Error>
fn transfer_purse_to_account(
&mut self,
source: URef,
target: AccountHash,
amount: U512
) -> Result<TransferredTo, Error>
Transfer amount from source purse to a target account.
sourceimpl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourceimpl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn get_caller(&self) -> AccountHash
fn get_caller(&self) -> AccountHash
This method should return the caller of the current context.
sourcefn is_allowed_session_caller(&self, account_hash: &AccountHash) -> bool
fn is_allowed_session_caller(&self, account_hash: &AccountHash) -> bool
Checks if account_hash matches the active session’s account.
sourcefn named_keys_get(&self, name: &str) -> Option<Key>
fn named_keys_get(&self, name: &str) -> Option<Key>
Gets named key under a name.
sourceimpl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn get_block_time(&self) -> BlockTime
fn get_block_time(&self) -> BlockTime
Get current block time.
sourcefn get_caller(&self) -> AccountHash
fn get_caller(&self) -> AccountHash
Get caller.
sourceimpl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn get_caller(&self) -> AccountHash
fn get_caller(&self) -> AccountHash
This method should return the caller of the current context.
sourcefn get_immediate_caller(&self) -> Option<&CallStackElement>
fn get_immediate_caller(&self) -> Option<&CallStackElement>
This method should return the immediate caller of the current context.
sourcefn put_key(&mut self, name: &str, key: Key) -> Result<(), Error>
fn put_key(&mut self, name: &str, key: Key) -> Result<(), Error>
This method should handle storing given Key under name.
sourcefn get_key(&self, name: &str) -> Option<Key>
fn get_key(&self, name: &str) -> Option<Key>
This method should handle obtaining a given named Key under a name.
sourcefn get_approved_spending_limit(&self) -> U512
fn get_approved_spending_limit(&self) -> U512
Returns approved CSPR spending limit.
sourcefn sub_approved_spending_limit(&mut self, transferred: U512)
fn sub_approved_spending_limit(&mut self, transferred: U512)
Signal to host that transferred amount of tokens has been transferred.
sourcefn get_main_purse(&self) -> URef
fn get_main_purse(&self) -> URef
Returns main purse of the sender account.
sourceimpl<'a, R> StandardPayment for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> StandardPayment for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourceimpl<'a, R> StorageProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> StorageProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn read<T: FromBytes + CLTyped>(
&mut self,
uref: URef
) -> Result<Option<T>, Error>
fn read<T: FromBytes + CLTyped>(
&mut self,
uref: URef
) -> Result<Option<T>, Error>
Reads data from URef.
sourcefn write<T: ToBytes + CLTyped>(
&mut self,
uref: URef,
value: T
) -> Result<(), Error>
fn write<T: ToBytes + CLTyped>(
&mut self,
uref: URef,
value: T
) -> Result<(), Error>
Writes data to `URef.
sourcefn write_seigniorage_recipients_snapshot(
&mut self,
uref: URef,
snapshot: SeigniorageRecipientsSnapshot
) -> Result<(), Error>
fn write_seigniorage_recipients_snapshot(
&mut self,
uref: URef,
snapshot: SeigniorageRecipientsSnapshot
) -> Result<(), Error>
Writes a SeigniorageRecipientsSnapshot to global state and charges for bytes stored. Read more
sourcefn read_bid(&mut self, account_hash: &AccountHash) -> Result<Option<Bid>, Error>
fn read_bid(&mut self, account_hash: &AccountHash) -> Result<Option<Bid>, Error>
Reads Bid at account hash derived from given public key
sourcefn write_bid(
&mut self,
account_hash: AccountHash,
bid: Bid
) -> Result<(), Error>
fn write_bid(
&mut self,
account_hash: AccountHash,
bid: Bid
) -> Result<(), Error>
Writes given Bid at account hash derived from given public key
sourcefn read_withdraw(
&mut self,
account_hash: &AccountHash
) -> Result<Vec<UnbondingPurse>, Error>
fn read_withdraw(
&mut self,
account_hash: &AccountHash
) -> Result<Vec<UnbondingPurse>, Error>
Reads collection of UnbondingPurses at account hash derived from given public key
sourcefn write_withdraw(
&mut self,
account_hash: AccountHash,
unbonding_purses: Vec<UnbondingPurse>
) -> Result<(), Error>
fn write_withdraw(
&mut self,
account_hash: AccountHash,
unbonding_purses: Vec<UnbondingPurse>
) -> Result<(), Error>
Writes given UnbondingPurses at account hash derived from given public key
sourceimpl<'a, R> StorageProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> StorageProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
sourcefn read<T: CLTyped + FromBytes>(
&mut self,
uref: URef
) -> Result<Option<T>, Error>
fn read<T: CLTyped + FromBytes>(
&mut self,
uref: URef
) -> Result<Option<T>, Error>
Read data from URef.
sourcefn write<T: CLTyped + ToBytes>(
&mut self,
uref: URef,
value: T
) -> Result<(), Error>
fn write<T: CLTyped + ToBytes>(
&mut self,
uref: URef,
value: T
) -> Result<(), Error>
Write data under a URef.
sourceimpl<'a, R> SystemProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
impl<'a, R> SystemProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
Auto Trait Implementations
impl<'a, R> !RefUnwindSafe for Runtime<'a, R>
impl<'a, R> !Send for Runtime<'a, R>
impl<'a, R> !Sync for Runtime<'a, R>
impl<'a, R> Unpin for Runtime<'a, R>
impl<'a, R> !UnwindSafe for Runtime<'a, R>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more
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,
Causes 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,
Causes self to use its Display implementation when
Debug-formatted. Read more
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. Read more
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. Read more
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.
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. Read more
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. Read more
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. Read more
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> PipeAsRef for T
impl<T> PipeAsRef for T
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
impl<T> PipeBorrow for T
impl<T> PipeBorrow for T
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Pipes a trait borrow into a function that cannot normally be called in suffix position. Read more
fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more
impl<T> PipeDeref for T
impl<T> PipeDeref for T
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
fn pipe_deref<'a, R>(&'a self, func: impl FnOnce(&'a Self::Target) -> R) -> R where
Self: Deref,
R: 'a,
Pipes a dereference into a function that cannot normally be called in suffix position. Read more
fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
Pipes a mutable dereference into a function that cannot normally be called in suffix position. Read more
impl<T> PipeRef for T
impl<T> PipeRef for T
impl<T> Tap for T
impl<T> Tap for T
fn tap<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
fn tap<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
Provides immutable access for inspection. Read more
fn tap_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
fn tap_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
Calls tap in debug builds, and does nothing in release builds.
fn tap_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
fn tap_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
Provides mutable access for modification. Read more
fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
Calls tap_mut in debug builds, and does nothing in release builds.
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Provides immutable access to the reference for inspection.
fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Calls tap_ref in debug builds, and does nothing in release builds.
fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the reference for modification.
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Calls tap_ref_mut in debug builds, and does nothing in release builds.
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Provides immutable access to the borrow for inspection. Read more
fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Calls tap_borrow in debug builds, and does nothing in release builds.
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Provides mutable access to the borrow for modification.
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Calls tap_borrow_mut in debug builds, and does nothing in release
builds. Read more
impl<T> TapDeref for T
impl<T> TapDeref for T
fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Immutably dereferences self for inspection.
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Calls tap_deref in debug builds, and does nothing in release builds.
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Mutably dereferences self for modification.
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Calls tap_deref_mut in debug builds, and does nothing in release
builds. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
fn vzip(self) -> V
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn 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>,
Attaches the provided Subscriber to this type, returning a
WithDispatch wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber to this type, returning a
WithDispatch wrapper. Read more
