Struct casper_execution_engine::core::runtime::Runtime [−][src]
pub struct Runtime<'a, R> { /* fields omitted */ }
Implementations
impl<'a, R> Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]pub fn new(
config: EngineConfig,
system_contract_cache: SystemContractCache,
memory: MemoryRef,
module: Module,
context: RuntimeContext<'a, R>
) -> Self
[src]
config: EngineConfig,
system_contract_cache: SystemContractCache,
memory: MemoryRef,
module: Module,
context: RuntimeContext<'a, R>
) -> Self
pub fn memory(&self) -> &MemoryRef
[src]
pub fn module(&self) -> &Module
[src]
pub fn context(&self) -> &RuntimeContext<'a, R>
[src]
pub fn protocol_data(&self) -> &ProtocolData
[src]
pub fn is_mint(&self, key: Key) -> bool
[src]
pub fn is_handle_payment(&self, key: Key) -> bool
[src]
pub fn is_auction(&self, key: Key) -> bool
[src]
pub fn call_host_mint(
&mut self,
protocol_version: ProtocolVersion,
entry_point_name: &str,
named_keys: &mut NamedKeys,
runtime_args: &RuntimeArgs,
extra_keys: &[Key]
) -> Result<CLValue, Error>
[src]
&mut self,
protocol_version: ProtocolVersion,
entry_point_name: &str,
named_keys: &mut NamedKeys,
runtime_args: &RuntimeArgs,
extra_keys: &[Key]
) -> Result<CLValue, Error>
pub fn call_host_handle_payment(
&mut self,
protocol_version: ProtocolVersion,
entry_point_name: &str,
named_keys: &mut NamedKeys,
runtime_args: &RuntimeArgs,
extra_keys: &[Key]
) -> Result<CLValue, Error>
[src]
&mut self,
protocol_version: ProtocolVersion,
entry_point_name: &str,
named_keys: &mut NamedKeys,
runtime_args: &RuntimeArgs,
extra_keys: &[Key]
) -> Result<CLValue, Error>
pub fn call_host_standard_payment(&mut self) -> Result<(), Error>
[src]
pub fn call_host_auction(
&mut self,
protocol_version: ProtocolVersion,
entry_point_name: &str,
named_keys: &mut NamedKeys,
runtime_args: &RuntimeArgs,
extra_keys: &[Key]
) -> Result<CLValue, Error>
[src]
&mut self,
protocol_version: ProtocolVersion,
entry_point_name: &str,
named_keys: &mut NamedKeys,
runtime_args: &RuntimeArgs,
extra_keys: &[Key]
) -> Result<CLValue, Error>
pub fn call_contract(
&mut self,
contract_hash: ContractHash,
entry_point_name: &str,
args: RuntimeArgs
) -> Result<CLValue, Error>
[src]
pub fn call_contract(
&mut self,
contract_hash: ContractHash,
entry_point_name: &str,
args: RuntimeArgs
) -> Result<CLValue, Error>
[src]Calls contract living under a key
, with supplied args
.
pub fn call_versioned_contract(
&mut self,
contract_package_hash: ContractPackageHash,
contract_version: Option<ContractVersion>,
entry_point_name: String,
args: RuntimeArgs
) -> Result<CLValue, Error>
[src]
pub fn call_versioned_contract(
&mut self,
contract_package_hash: ContractPackageHash,
contract_version: Option<ContractVersion>,
entry_point_name: String,
args: RuntimeArgs
) -> Result<CLValue, Error>
[src]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.
pub fn take_host_buffer(&mut self) -> Option<CLValue>
[src]
pub fn take_host_buffer(&mut self) -> Option<CLValue>
[src]If host_buffer set, clears the host_buffer and returns value, else None
Trait Implementations
impl<'a, R> AccountProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> AccountProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn get_main_purse(&self) -> Result<URef, Error>
[src]
fn get_main_purse(&self) -> Result<URef, Error>
[src]Get currently executing account’s purse.
impl<'a, R> AccountProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> AccountProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn get_main_purse(&self) -> Result<URef, ApiError>
[src]
fn get_main_purse(&self) -> Result<URef, ApiError>
[src]Get currently executing account’s purse.
impl<'a, R> Auction for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> Auction for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn get_era_validators(
&mut self
) -> Result<BTreeMap<EraId, BTreeMap<PublicKey, U512>>, Error>
[src]
fn get_era_validators(
&mut self
) -> Result<BTreeMap<EraId, BTreeMap<PublicKey, U512>>, Error>
[src]Returns era_validators. Read more
fn read_seigniorage_recipients(
&mut self
) -> Result<BTreeMap<PublicKey, SeigniorageRecipient>, Error>
[src]
fn read_seigniorage_recipients(
&mut self
) -> Result<BTreeMap<PublicKey, SeigniorageRecipient>, Error>
[src]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
fn add_bid(
&mut self,
public_key: PublicKey,
delegation_rate: u8,
amount: U512
) -> Result<U512, Error>
[src]
fn add_bid(
&mut self,
public_key: PublicKey,
delegation_rate: u8,
amount: U512
) -> Result<U512, Error>
[src]For a non-founder validator, this adds, or modifies, an entry in the bids
collection and
calls bond
in the Mint contract to create (or top off) a bid purse. It also adjusts the
delegation rate. Read more
fn withdraw_bid(
&mut self,
public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
[src]
fn withdraw_bid(
&mut self,
public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
[src]For a non-founder validator, implements essentially the same logic as add_bid, but reducing the number of tokens and calling unbond in lieu of bond. Read more
fn delegate(
&mut self,
delegator_public_key: PublicKey,
validator_public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
[src]
fn delegate(
&mut self,
delegator_public_key: PublicKey,
validator_public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
[src]Adds a new delegator to delegators, or tops off a current one. If the target validator is not in founders, the function call returns an error and does nothing. Read more
fn undelegate(
&mut self,
delegator_public_key: PublicKey,
validator_public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
[src]
fn undelegate(
&mut self,
delegator_public_key: PublicKey,
validator_public_key: PublicKey,
amount: U512
) -> Result<U512, Error>
[src]Removes an amount of motes (or the entry altogether, if the remaining amount is 0) from the entry in delegators and calls unbond in the Mint contract to create a new unbonding purse. Read more
fn slash(
&mut self,
validator_public_keys: Vec<PublicKey, Global>
) -> Result<(), Error>
[src]
fn slash(
&mut self,
validator_public_keys: Vec<PublicKey, Global>
) -> Result<(), Error>
[src]Slashes each validator. Read more
fn run_auction(
&mut self,
era_end_timestamp_millis: u64,
evicted_validators: Vec<PublicKey, Global>
) -> Result<(), Error>
[src]
fn run_auction(
&mut self,
era_end_timestamp_millis: u64,
evicted_validators: Vec<PublicKey, Global>
) -> Result<(), Error>
[src]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
fn distribute(
&mut self,
reward_factors: BTreeMap<PublicKey, u64>
) -> Result<(), Error>
[src]
fn distribute(
&mut self,
reward_factors: BTreeMap<PublicKey, u64>
) -> Result<(), Error>
[src]Mint and distribute seigniorage rewards to validators and their delegators,
according to reward_factors
returned by the consensus component. Read more
fn read_era_id(&mut self) -> Result<EraId, Error>
[src]
fn read_era_id(&mut self) -> Result<EraId, Error>
[src]Reads current era id.
impl<'a, R> Externals for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> Externals for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn invoke_index(
&mut self,
index: usize,
args: RuntimeArgs<'_>
) -> Result<Option<RuntimeValue>, Trap>
[src]
fn invoke_index(
&mut self,
index: usize,
args: RuntimeArgs<'_>
) -> Result<Option<RuntimeValue>, Trap>
[src]Perform invoke of a host function by specified index
.
impl<'a, R> HandlePayment for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> HandlePayment for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn get_payment_purse(&self) -> Result<URef, Error>
[src]
fn get_payment_purse(&self) -> Result<URef, Error>
[src]Get payment purse.
fn finalize_payment(
&mut self,
amount_spent: U512,
account: AccountHash,
target: URef
) -> Result<(), Error>
[src]
fn finalize_payment(
&mut self,
amount_spent: U512,
account: AccountHash,
target: URef
) -> Result<(), Error>
[src]Finalize payment with amount_spent
and a given account
.
impl<'a, R> HandlePaymentProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> HandlePaymentProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn get_payment_purse(&mut self) -> Result<URef, ApiError>
[src]
fn get_payment_purse(&mut self) -> Result<URef, ApiError>
[src]Get payment purse for given deploy.
impl<'a, R> Mint for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> Mint for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn mint(&mut self, initial_balance: U512) -> Result<URef, Error>
[src]
fn mint(&mut self, initial_balance: U512) -> Result<URef, Error>
[src]Mint new token with given initial_balance
balance. Returns new purse on success, otherwise
an error. Read more
fn reduce_total_supply(&mut self, amount: U512) -> Result<(), Error>
[src]
fn reduce_total_supply(&mut self, amount: U512) -> Result<(), Error>
[src]Reduce total supply by amount
. Returns unit on success, otherwise
an error. Read more
fn transfer(
&mut self,
maybe_to: Option<AccountHash>,
source: URef,
target: URef,
amount: U512,
id: Option<u64>
) -> Result<(), Error>
[src]
fn transfer(
&mut self,
maybe_to: Option<AccountHash>,
source: URef,
target: URef,
amount: U512,
id: Option<u64>
) -> Result<(), Error>
[src]Transfers amount
of tokens from source
purse to a target
purse.
fn read_base_round_reward(&mut self) -> Result<U512, Error>
[src]
fn read_base_round_reward(&mut self) -> Result<U512, Error>
[src]Retrieves the base round reward.
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn transfer_purse_to_account(
&mut self,
source: URef,
target: AccountHash,
amount: U512
) -> Result<TransferredTo, Error>
[src]
fn transfer_purse_to_account(
&mut self,
source: URef,
target: AccountHash,
amount: U512
) -> Result<TransferredTo, Error>
[src]Transfers amount
from source
purse to a target
account.
fn transfer_purse_to_purse(
&mut self,
source: URef,
target: URef,
amount: U512
) -> Result<(), Error>
[src]
fn transfer_purse_to_purse(
&mut self,
source: URef,
target: URef,
amount: U512
) -> Result<(), Error>
[src]Transfers amount
from source
purse to a target
purse.
fn balance(&mut self, purse: URef) -> Result<Option<U512>, Error>
[src]
fn balance(&mut self, purse: URef) -> Result<Option<U512>, Error>
[src]Checks balance of a purse
. Returns None
if given purse does not exist.
fn read_base_round_reward(&mut self) -> Result<U512, Error>
[src]
fn read_base_round_reward(&mut self) -> Result<U512, Error>
[src]Reads the base round reward.
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn transfer_purse_to_account(
&mut self,
source: URef,
target: AccountHash,
amount: U512
) -> Result<TransferredTo, Error>
[src]
fn transfer_purse_to_account(
&mut self,
source: URef,
target: AccountHash,
amount: U512
) -> Result<TransferredTo, Error>
[src]Transfer amount
from source
purse to a target
account.
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> MintProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn get_caller(&self) -> AccountHash
[src]
fn get_caller(&self) -> AccountHash
[src]This method should return the caller of the current context.
fn named_keys_get(&self, name: &str) -> Option<Key>
[src]
fn named_keys_get(&self, name: &str) -> Option<Key>
[src]Gets named key under a name
.
impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn get_block_time(&self) -> BlockTime
[src]
fn get_block_time(&self) -> BlockTime
[src]Get current block time.
fn get_caller(&self) -> AccountHash
[src]
fn get_caller(&self) -> AccountHash
[src]Get caller.
impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> RuntimeProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]impl<'a, R> StandardPayment for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> StandardPayment for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]impl<'a, R> StorageProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> StorageProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn read<T: FromBytes + CLTyped>(
&mut self,
uref: URef
) -> Result<Option<T>, Error>
[src]
fn read<T: FromBytes + CLTyped>(
&mut self,
uref: URef
) -> Result<Option<T>, Error>
[src]Reads data from URef
.
fn write<T: ToBytes + CLTyped>(
&mut self,
uref: URef,
value: T
) -> Result<(), Error>
[src]
fn write<T: ToBytes + CLTyped>(
&mut self,
uref: URef,
value: T
) -> Result<(), Error>
[src]Writes data to `URef.
fn read_bid(&mut self, account_hash: &AccountHash) -> Result<Option<Bid>, Error>
[src]
fn read_bid(&mut self, account_hash: &AccountHash) -> Result<Option<Bid>, Error>
[src]Reads Bid
at account hash derived from given public key
fn write_bid(
&mut self,
account_hash: AccountHash,
bid: Bid
) -> Result<(), Error>
[src]
fn write_bid(
&mut self,
account_hash: AccountHash,
bid: Bid
) -> Result<(), Error>
[src]Writes given Bid
at account hash derived from given public key
fn read_withdraw(
&mut self,
account_hash: &AccountHash
) -> Result<Vec<UnbondingPurse>, Error>
[src]
fn read_withdraw(
&mut self,
account_hash: &AccountHash
) -> Result<Vec<UnbondingPurse>, Error>
[src]Reads collection of UnbondingPurse
s at account hash derived from given public key
fn write_withdraw(
&mut self,
account_hash: AccountHash,
unbonding_purses: Vec<UnbondingPurse>
) -> Result<(), Error>
[src]
fn write_withdraw(
&mut self,
account_hash: AccountHash,
unbonding_purses: Vec<UnbondingPurse>
) -> Result<(), Error>
[src]Writes given UnbondingPurse
s at account hash derived from given public key
impl<'a, R> StorageProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> StorageProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]fn read<T: CLTyped + FromBytes>(
&mut self,
uref: URef
) -> Result<Option<T>, Error>
[src]
fn read<T: CLTyped + FromBytes>(
&mut self,
uref: URef
) -> Result<Option<T>, Error>
[src]Read data from URef
.
fn write<T: CLTyped + ToBytes>(
&mut self,
uref: URef,
value: T
) -> Result<(), Error>
[src]
fn write<T: CLTyped + ToBytes>(
&mut self,
uref: URef,
value: T
) -> Result<(), Error>
[src]Write data under a URef
.
impl<'a, R> SystemProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> SystemProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]impl<'a, R> SystemProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]
impl<'a, R> SystemProvider for Runtime<'a, R> where
R: StateReader<Key, StoredValue>,
R::Error: Into<Error>,
[src]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
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub 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
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub 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
pub fn as_any(&self) -> &(dyn Any + 'static)
pub 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
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub 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
impl<T> Instrument for T
[src]
impl<T> Instrument for T
[src]fn instrument(self, span: Span) -> Instrumented<Self>
[src]
fn instrument(self, span: Span) -> Instrumented<Self>
[src]Instruments this type with the provided Span
, returning an
Instrumented
wrapper. Read more
fn in_current_span(self) -> Instrumented<Self>
[src]
fn in_current_span(self) -> Instrumented<Self>
[src]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>,
R: 'a,
T: 'a,
fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
R: 'a,
T: '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>,
R: 'a,
T: 'a,
fn pipe_as_mut<'a, T, R>(&'a mut self, func: impl FnOnce(&'a mut T) -> R) -> R where
Self: AsMut<T>,
R: 'a,
T: '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>,
R: 'a,
T: 'a,
fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
R: 'a,
T: '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>,
R: 'a,
T: 'a,
fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
R: 'a,
T: '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> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
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>,