Struct gear_core_processor::Ext
source · pub struct Ext<LP: LazyPagesInterface> {
pub context: ProcessorContext,
pub current_counter: CounterType,
/* private fields */
}
Expand description
Structure providing externalities for running host functions.
Fields§
§context: ProcessorContext
Processor context.
current_counter: CounterType
Actual gas counter type within wasm module’s global.
Trait Implementations§
source§impl<LP: LazyPagesInterface> BackendExternalities for Ext<LP>
impl<LP: LazyPagesInterface> BackendExternalities for Ext<LP>
fn gas_amount(&self) -> GasAmount
source§impl<LP: LazyPagesInterface> CountersOwner for Ext<LP>
impl<LP: LazyPagesInterface> CountersOwner for Ext<LP>
source§fn charge_gas_for_token(&mut self, token: CostToken) -> Result<(), ChargeError>
fn charge_gas_for_token(&mut self, token: CostToken) -> Result<(), ChargeError>
Charge for runtime api call.
source§fn charge_gas_if_enough(&mut self, amount: u64) -> Result<(), ChargeError>
fn charge_gas_if_enough(&mut self, amount: u64) -> Result<(), ChargeError>
Charge gas if enough, else just returns error.
source§fn current_counter_type(&self) -> CounterType
fn current_counter_type(&self) -> CounterType
Currently set gas counter type.
source§fn decrease_current_counter_to(&mut self, amount: u64)
fn decrease_current_counter_to(&mut self, amount: u64)
Decreases gas left by fetched single numeric of actual counter.
source§fn define_current_counter(&mut self) -> u64
fn define_current_counter(&mut self) -> u64
Returns minimal amount of gas counters and set the type of current counter.
§fn current_counter_value(&self) -> u64
fn current_counter_value(&self) -> u64
Returns value of gas counter currently set.
source§impl<LP: LazyPagesInterface> Externalities for Ext<LP>
impl<LP: LazyPagesInterface> Externalities for Ext<LP>
§type UnrecoverableError = UnrecoverableExtError
type UnrecoverableError = UnrecoverableExtError
An error issued in infallible syscall.
§type FallibleError = FallibleExtError
type FallibleError = FallibleExtError
An error issued in fallible syscall.
§type AllocError = AllocExtError
type AllocError = AllocExtError
An error issued during allocation.
source§fn alloc<Context>(
&mut self,
ctx: &mut Context,
mem: &mut impl Memory<Context>,
pages_num: u32,
) -> Result<WasmPage, Self::AllocError>
fn alloc<Context>( &mut self, ctx: &mut Context, mem: &mut impl Memory<Context>, pages_num: u32, ) -> Result<WasmPage, Self::AllocError>
Allocate number of pages. Read more
source§fn free_range(
&mut self,
start: WasmPage,
end: WasmPage,
) -> Result<(), Self::AllocError>
fn free_range( &mut self, start: WasmPage, end: WasmPage, ) -> Result<(), Self::AllocError>
Free specific memory range.
source§fn env_vars(&self, version: u32) -> Result<EnvVars, Self::UnrecoverableError>
fn env_vars(&self, version: u32) -> Result<EnvVars, Self::UnrecoverableError>
Get environment variables currently set in the system and in the form
corresponded to the requested version.
source§fn block_height(&self) -> Result<u32, Self::UnrecoverableError>
fn block_height(&self) -> Result<u32, Self::UnrecoverableError>
Get the current block height.
source§fn block_timestamp(&self) -> Result<u64, Self::UnrecoverableError>
fn block_timestamp(&self) -> Result<u64, Self::UnrecoverableError>
Get the current block timestamp.
source§fn send_init(&mut self) -> Result<u32, Self::FallibleError>
fn send_init(&mut self) -> Result<u32, Self::FallibleError>
Initialize a new incomplete message for another program and return its handle.
source§fn send_push(
&mut self,
handle: u32,
buffer: &[u8],
) -> Result<(), Self::FallibleError>
fn send_push( &mut self, handle: u32, buffer: &[u8], ) -> Result<(), Self::FallibleError>
Push an extra buffer into message payload by handle.
source§fn send_push_input(
&mut self,
handle: u32,
offset: u32,
len: u32,
) -> Result<(), Self::FallibleError>
fn send_push_input( &mut self, handle: u32, offset: u32, len: u32, ) -> Result<(), Self::FallibleError>
Push the incoming message buffer into message payload by handle.
source§fn send_commit(
&mut self,
handle: u32,
msg: HandlePacket,
delay: u32,
) -> Result<MessageId, Self::FallibleError>
fn send_commit( &mut self, handle: u32, msg: HandlePacket, delay: u32, ) -> Result<MessageId, Self::FallibleError>
Complete message and send it to another program.
source§fn reservation_send_commit(
&mut self,
id: ReservationId,
handle: u32,
msg: HandlePacket,
delay: u32,
) -> Result<MessageId, Self::FallibleError>
fn reservation_send_commit( &mut self, id: ReservationId, handle: u32, msg: HandlePacket, delay: u32, ) -> Result<MessageId, Self::FallibleError>
Complete message and send it to another program using gas from reservation.
source§fn reply_push(&mut self, buffer: &[u8]) -> Result<(), Self::FallibleError>
fn reply_push(&mut self, buffer: &[u8]) -> Result<(), Self::FallibleError>
Push an extra buffer into reply message.
source§fn reply_commit(
&mut self,
msg: ReplyPacket,
) -> Result<MessageId, Self::FallibleError>
fn reply_commit( &mut self, msg: ReplyPacket, ) -> Result<MessageId, Self::FallibleError>
Complete reply message and send it to source program.
source§fn reservation_reply_commit(
&mut self,
id: ReservationId,
msg: ReplyPacket,
) -> Result<MessageId, Self::FallibleError>
fn reservation_reply_commit( &mut self, id: ReservationId, msg: ReplyPacket, ) -> Result<MessageId, Self::FallibleError>
Complete reply message and send it to source program from reservation.
source§fn reply_to(&self) -> Result<MessageId, Self::FallibleError>
fn reply_to(&self) -> Result<MessageId, Self::FallibleError>
Get the message id of the initial message.
source§fn signal_from(&self) -> Result<MessageId, Self::FallibleError>
fn signal_from(&self) -> Result<MessageId, Self::FallibleError>
Get the message id which signal issues from.
source§fn reply_push_input(
&mut self,
offset: u32,
len: u32,
) -> Result<(), Self::FallibleError>
fn reply_push_input( &mut self, offset: u32, len: u32, ) -> Result<(), Self::FallibleError>
Push the incoming message buffer into reply message.
source§fn source(&self) -> Result<ProgramId, Self::UnrecoverableError>
fn source(&self) -> Result<ProgramId, Self::UnrecoverableError>
Get the source of the message currently being handled.
source§fn reply_code(&self) -> Result<ReplyCode, Self::FallibleError>
fn reply_code(&self) -> Result<ReplyCode, Self::FallibleError>
Get the reply code if the message being processed.
source§fn signal_code(&self) -> Result<SignalCode, Self::FallibleError>
fn signal_code(&self) -> Result<SignalCode, Self::FallibleError>
Get the signal code if the message being processed.
source§fn message_id(&self) -> Result<MessageId, Self::UnrecoverableError>
fn message_id(&self) -> Result<MessageId, Self::UnrecoverableError>
Get the id of the message currently being handled.
source§fn program_id(&self) -> Result<ProgramId, Self::UnrecoverableError>
fn program_id(&self) -> Result<ProgramId, Self::UnrecoverableError>
Get the id of program itself
source§fn debug(&self, data: &str) -> Result<(), Self::UnrecoverableError>
fn debug(&self, data: &str) -> Result<(), Self::UnrecoverableError>
Send debug message. Read more
source§fn lock_payload(
&mut self,
at: u32,
len: u32,
) -> Result<PayloadSliceLock, Self::FallibleError>
fn lock_payload( &mut self, at: u32, len: u32, ) -> Result<PayloadSliceLock, Self::FallibleError>
Takes ownership over payload of the executing message and
returns it in the wrapper [
PayloadSliceLock
], which acts
like lock. Read moresource§fn unlock_payload(
&mut self,
payload_holder: &mut PayloadSliceLock,
) -> UnlockPayloadBound
fn unlock_payload( &mut self, payload_holder: &mut PayloadSliceLock, ) -> UnlockPayloadBound
Reclaims ownership from the payload lock over previously taken payload from the
currently executing message.. Read more
source§fn size(&self) -> Result<usize, Self::UnrecoverableError>
fn size(&self) -> Result<usize, Self::UnrecoverableError>
Size of currently handled message payload.
source§fn reserve_gas(
&mut self,
amount: u64,
duration: u32,
) -> Result<ReservationId, Self::FallibleError>
fn reserve_gas( &mut self, amount: u64, duration: u32, ) -> Result<ReservationId, Self::FallibleError>
Reserve some gas for a few blocks.
source§fn unreserve_gas(
&mut self,
id: ReservationId,
) -> Result<u64, Self::FallibleError>
fn unreserve_gas( &mut self, id: ReservationId, ) -> Result<u64, Self::FallibleError>
Unreserve gas using reservation ID.
source§fn system_reserve_gas(&mut self, amount: u64) -> Result<(), Self::FallibleError>
fn system_reserve_gas(&mut self, amount: u64) -> Result<(), Self::FallibleError>
Do system reservation.
source§fn gas_available(&self) -> Result<u64, Self::UnrecoverableError>
fn gas_available(&self) -> Result<u64, Self::UnrecoverableError>
Tell how much gas is left in running context.
source§fn value_available(&self) -> Result<u128, Self::UnrecoverableError>
fn value_available(&self) -> Result<u128, Self::UnrecoverableError>
Tell how much value is left in running context.
source§fn wait(&mut self) -> Result<(), Self::UnrecoverableError>
fn wait(&mut self) -> Result<(), Self::UnrecoverableError>
Interrupt the program and reschedule execution for maximum.
source§fn wait_for(&mut self, duration: u32) -> Result<(), Self::UnrecoverableError>
fn wait_for(&mut self, duration: u32) -> Result<(), Self::UnrecoverableError>
Interrupt the program and reschedule execution in duration.
source§fn wait_up_to(
&mut self,
duration: u32,
) -> Result<bool, Self::UnrecoverableError>
fn wait_up_to( &mut self, duration: u32, ) -> Result<bool, Self::UnrecoverableError>
Interrupt the program and reschedule execution for maximum,
but not more than duration.
source§fn wake(
&mut self,
waker_id: MessageId,
delay: u32,
) -> Result<(), Self::FallibleError>
fn wake( &mut self, waker_id: MessageId, delay: u32, ) -> Result<(), Self::FallibleError>
Wake the waiting message and move it to the processing queue.
source§fn create_program(
&mut self,
packet: InitPacket,
delay: u32,
) -> Result<(MessageId, ProgramId), Self::FallibleError>
fn create_program( &mut self, packet: InitPacket, delay: u32, ) -> Result<(MessageId, ProgramId), Self::FallibleError>
Send init message to create a new program.
source§fn reply_deposit(
&mut self,
message_id: MessageId,
amount: u64,
) -> Result<(), Self::FallibleError>
fn reply_deposit( &mut self, message_id: MessageId, amount: u64, ) -> Result<(), Self::FallibleError>
Create deposit to handle reply on given message.
source§fn random(&self) -> Result<(&[u8], u32), Self::UnrecoverableError>
fn random(&self) -> Result<(&[u8], u32), Self::UnrecoverableError>
Returns a random seed for the current block with message id as a subject, along with the time in the past since when it was determinable by chain observers.
source§fn forbidden_funcs(&self) -> &BTreeSet<SyscallName>
fn forbidden_funcs(&self) -> &BTreeSet<SyscallName>
Return the set of functions that are forbidden to be called.
§fn send(
&mut self,
msg: HandlePacket,
delay: u32,
) -> Result<MessageId, Self::FallibleError>
fn send( &mut self, msg: HandlePacket, delay: u32, ) -> Result<MessageId, Self::FallibleError>
Send message to another program.
§fn reservation_send(
&mut self,
id: ReservationId,
msg: HandlePacket,
delay: u32,
) -> Result<MessageId, Self::FallibleError>
fn reservation_send( &mut self, id: ReservationId, msg: HandlePacket, delay: u32, ) -> Result<MessageId, Self::FallibleError>
Send message to another program using gas from reservation.
§fn reply(&mut self, msg: ReplyPacket) -> Result<MessageId, Self::FallibleError>
fn reply(&mut self, msg: ReplyPacket) -> Result<MessageId, Self::FallibleError>
Produce reply to the current message.
§fn reservation_reply(
&mut self,
id: ReservationId,
msg: ReplyPacket,
) -> Result<MessageId, Self::FallibleError>
fn reservation_reply( &mut self, id: ReservationId, msg: ReplyPacket, ) -> Result<MessageId, Self::FallibleError>
Produce reply to the current message from reservation.
source§impl<LP: LazyPagesInterface> ProcessorExternalities for Ext<LP>
impl<LP: LazyPagesInterface> ProcessorExternalities for Ext<LP>
Empty implementation for non-substrate (and non-lazy-pages) using
source§fn new(context: ProcessorContext) -> Self
fn new(context: ProcessorContext) -> Self
Create new
source§fn into_ext_info<Context>(
self,
ctx: &mut Context,
memory: &impl Memory<Context>,
) -> Result<ExtInfo, MemoryError>
fn into_ext_info<Context>( self, ctx: &mut Context, memory: &impl Memory<Context>, ) -> Result<ExtInfo, MemoryError>
Convert externalities into info.
source§fn lazy_pages_init_for_program<Context>(
ctx: &mut Context,
mem: &mut impl Memory<Context>,
prog_id: ProgramId,
memory_infix: MemoryInfix,
stack_end: Option<WasmPage>,
globals_config: GlobalsAccessConfig,
lazy_pages_costs: LazyPagesCosts,
)
fn lazy_pages_init_for_program<Context>( ctx: &mut Context, mem: &mut impl Memory<Context>, prog_id: ProgramId, memory_infix: MemoryInfix, stack_end: Option<WasmPage>, globals_config: GlobalsAccessConfig, lazy_pages_costs: LazyPagesCosts, )
Protect and save storage keys for pages which has no data
source§fn lazy_pages_post_execution_actions<Context>(
ctx: &mut Context,
mem: &mut impl Memory<Context>,
)
fn lazy_pages_post_execution_actions<Context>( ctx: &mut Context, mem: &mut impl Memory<Context>, )
Lazy pages program post execution actions
source§fn lazy_pages_status() -> Status
fn lazy_pages_status() -> Status
Returns lazy pages status
Auto Trait Implementations§
impl<LP> Freeze for Ext<LP>
impl<LP> RefUnwindSafe for Ext<LP>where
LP: RefUnwindSafe,
impl<LP> Send for Ext<LP>where
LP: Send,
impl<LP> Sync for Ext<LP>where
LP: Sync,
impl<LP> Unpin for Ext<LP>where
LP: Unpin,
impl<LP> UnwindSafe for Ext<LP>where
LP: UnwindSafe,
Blanket Implementations§
§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
§impl<T> Conv for T
impl<T> Conv for T
§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
§fn deserialize(
&self,
deserializer: &mut D,
) -> Result<With<T, W>, <D as Fallible>::Error>
fn deserialize( &self, deserializer: &mut D, ) -> Result<With<T, W>, <D as Fallible>::Error>
Deserializes using the given deserializer
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
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
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§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.§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.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§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.§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.§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.§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.§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.§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.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
Formats each item in a sequence. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 more§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> for T
§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Gets the layout of the type.
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Pipes by value. This is generally the method you want to use. Read more
§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 more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
Mutably borrows
self
and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
Borrows
self
, then passes self.as_ref()
into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
Mutably borrows
self
, then passes self.as_mut()
into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
Borrows
self
, then passes self.deref()
into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Immutable access to the
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
Mutable access to the
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
Immutable access to the
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
Mutable access to the
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Immutable access to the
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Mutable access to the
Deref::Target
of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
Calls
.tap()
only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
Calls
.tap_mut()
only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
Calls
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
Calls
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
Calls
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
Calls
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
Calls
.tap_deref()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
The counterpart to
unchecked_from
.§impl<T> Upcastable for T
impl<T> Upcastable for T
§fn upcast_any_ref(&self) -> &(dyn Any + 'static)
fn upcast_any_ref(&self) -> &(dyn Any + 'static)
upcast ref
§fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn upcast_any_mut(&mut self) -> &mut (dyn Any + 'static)
upcast mut ref
§fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
fn upcast_any_box(self: Box<T>) -> Box<dyn Any>
upcast boxed dyn