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]

pub fn new(
    config: EngineConfig,
    system_contract_cache: SystemContractCache,
    memory: MemoryRef,
    module: Module,
    context: RuntimeContext<'a, R>
) -> Self
[src]

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]

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]

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]

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]

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]

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]

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]

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]

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]

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]

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]

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]

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]

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]

Slashes each validator. Read more

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]

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]

Reads current era id.

fn activate_bid(&mut self, validator_public_key: PublicKey) -> Result<(), Error>[src]

Activates a given validator’s bid. To be used when a validator has been marked as inactive by consensus (aka “evicted”). Read more

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]

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]

fn get_payment_purse(&self) -> Result<URef, Error>[src]

Get payment purse.

fn set_refund_purse(&mut self, purse: URef) -> Result<(), Error>[src]

Set refund purse.

fn get_refund_purse(&self) -> Result<Option<URef>, Error>[src]

Get refund purse.

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]

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]

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]

Reduce total supply by amount. Returns unit on success, otherwise an error. Read more

fn balance(&mut self, purse: URef) -> Result<Option<U512>, Error>[src]

Read balance of given purse.

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]

Retrieves the base round reward.

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]

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]

Transfers amount from source purse to a target purse.

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]

Reads the base round reward.

fn mint(&mut self, amount: U512) -> Result<URef, Error>[src]

Mints 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]

Reduce total supply by amount. Returns unit on success, otherwise an error. Read more

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]

Transfer amount from source purse to a target account.

fn transfer_purse_to_purse(
    &mut self,
    source: URef,
    target: URef,
    amount: U512
) -> Result<(), Error>
[src]

Transfer amount from source purse to a target purse.

fn balance(&mut self, purse: URef) -> Result<Option<U512>, Error>[src]

Checks balance of a purse. Returns None if given purse does not exist.

impl<'a, R> MintProvider for Runtime<'a, R> where
    R: StateReader<Key, StoredValue>,
    R::Error: Into<Error>, 
[src]

fn transfer_purse_to_purse(
    &mut self,
    source: URef,
    target: URef,
    amount: U512
) -> Result<(), ApiError>
[src]

Transfer amount of tokens from source purse to a target purse.

impl<'a, R> RuntimeProvider for Runtime<'a, R> where
    R: StateReader<Key, StoredValue>,
    R::Error: Into<Error>, 
[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]

Gets named key under a name.

fn get_keys(&mut self, key_tag: &KeyTag) -> Result<BTreeSet<Key>, Error>[src]

Gets keys in a given keyspace

fn blake2b<T: AsRef<[u8]>>(&self, data: T) -> [u8; 32][src]

Returns a 32-byte BLAKE2b digest

impl<'a, R> RuntimeProvider for Runtime<'a, R> where
    R: StateReader<Key, StoredValue>,
    R::Error: Into<Error>, 
[src]

fn get_key(&self, name: &str) -> Option<Key>[src]

Get named key under a name.

fn put_key(&mut self, name: &str, key: Key) -> Result<(), Error>[src]

Put key under a name.

fn remove_key(&mut self, name: &str) -> Result<(), Error>[src]

Remove a named key by name.

fn get_phase(&self) -> Phase[src]

Get current execution phase.

fn get_block_time(&self) -> BlockTime[src]

Get current block time.

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]

fn get_caller(&self) -> AccountHash[src]

This method should return the caller of the current context.

fn put_key(&mut self, name: &str, key: Key) -> Result<(), Error>[src]

This method should handle storing given Key under name.

fn get_key(&self, name: &str) -> Option<Key>[src]

This method should handle obtaining a given named Key under a name.

impl<'a, R> StandardPayment for Runtime<'a, R> where
    R: StateReader<Key, StoredValue>,
    R::Error: Into<Error>, 
[src]

fn pay(&mut self, amount: U512) -> Result<(), ApiError>[src]

Pay amount to a payment purse.

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]

Reads data from URef.

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]

Reads Bid at account hash derived from given public key

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]

Reads collection of UnbondingPurses at account hash derived from given public key

fn write_withdraw(
    &mut self,
    account_hash: AccountHash,
    unbonding_purses: Vec<UnbondingPurse>
) -> Result<(), Error>
[src]

Writes given UnbondingPurses 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]

fn new_uref<T: CLTyped + ToBytes>(&mut self, init: T) -> Result<URef, Error>[src]

Create new URef.

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]

Write data under a URef.

fn add<T: CLTyped + ToBytes>(
    &mut self,
    uref: URef,
    value: T
) -> Result<(), Error>
[src]

Add data to a URef.

fn read_balance(&mut self, uref: URef) -> Result<Option<U512>, Error>[src]

Read balance.

fn write_balance(&mut self, uref: URef, balance: U512) -> Result<(), Error>[src]

Write balance.

fn add_balance(&mut self, uref: URef, value: U512) -> Result<(), Error>[src]

Add amount to an existing balance.

impl<'a, R> SystemProvider for Runtime<'a, R> where
    R: StateReader<Key, StoredValue>,
    R::Error: Into<Error>, 
[src]

fn create_purse(&mut self) -> Result<URef, Error>[src]

Creates new purse.

fn get_balance(&mut self, purse: URef) -> Result<Option<U512>, Error>[src]

Gets purse balance.

fn transfer_from_purse_to_purse(
    &mut self,
    source: URef,
    target: URef,
    amount: U512
) -> Result<(), Error>
[src]

Transfers specified amount of tokens from source purse into a target purse.

fn record_era_info(
    &mut self,
    era_id: EraId,
    era_info: EraInfo
) -> Result<(), Error>
[src]

Records era info at the given era id.

impl<'a, R> SystemProvider for Runtime<'a, R> where
    R: StateReader<Key, StoredValue>,
    R::Error: Into<Error>, 
[src]

fn record_transfer(
    &mut self,
    maybe_to: Option<AccountHash>,
    source: URef,
    target: URef,
    amount: U512,
    id: Option<u64>
) -> Result<(), Error>
[src]

Records a transfer.

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> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> Conv for T

fn conv<T>(self) -> T where
    Self: Into<T>, 

Converts self into a target type. Read more

impl<T> Downcast for T where
    T: Any

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>

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)

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)

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

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

Causes self to use its Display implementation when Debug-formatted. Read more

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

Causes self to use its LowerHex implementation when Debug-formatted. Read more

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

Causes self to use its Pointer implementation when Debug-formatted. Read more

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

Causes self to use its UpperHex implementation when Debug-formatted. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[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]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> Pipe for T

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R

Pipes a value into a function that cannot ordinarily be called in suffix position. Read more

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, 

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, 

Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more

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, 

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, 

Pipes a trait mutable borrow into a function that cannot normally be called in suffix position. Read more

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, 

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, 

Pipes a mutable dereference into a function that cannot normally be called in suffix position. Read more

impl<T> PipeRef for T

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
    R: 'a, 

Pipes a reference into a function that cannot ordinarily be called in suffix position. Read more

fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
    R: 'a, 

Pipes a mutable reference into a function that cannot ordinarily be called in suffix position. Read more

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Tap for T

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, 

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, 

Provides mutable access for modification. Read more

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

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, 

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, 

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, 

Calls tap_ref_mut in debug builds, and does nothing in release builds.

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, 

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, 

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, 

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, 

Calls tap_borrow_mut in debug builds, and does nothing in release builds. Read more

impl<T> TapDeref for T

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, 

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, 

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, 

Calls tap_deref_mut in debug builds, and does nothing in release builds. Read more

impl<T> TryConv for T

fn try_conv<T>(self) -> Result<T, Self::Error> where
    Self: TryInto<T>, 

Attempts to convert self into a target type. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V