Struct JsRuntimeBuilder
pub struct JsRuntimeBuilder { /* private fields */ }js and std only.Expand description
Implementations§
§impl JsRuntimeBuilder
impl JsRuntimeBuilder
pub const DEFAULT_RECURSION_LIMIT: usize = 512
pub const DEFAULT_RECURSION_LIMIT: usize = 512
Default limit for the depth of recursive calls within scripts.
pub const DEFAULT_LOOP_ITERATION_LIMIT: u64 = 1_000_000
pub const DEFAULT_LOOP_ITERATION_LIMIT: u64 = 1_000_000
Default limit for the number of loop iterations one function activation may run.
pub const DEFAULT_STACK_SIZE_LIMIT: usize
pub const DEFAULT_STACK_SIZE_LIMIT: usize
Default limit for the size of the script value stack.
pub fn with_strict(self, strict: bool) -> JsRuntimeBuilder
pub fn with_strict(self, strict: bool) -> JsRuntimeBuilder
Evaluate all scripts in strict mode,
regardless of "use strict" directives.
pub fn set_strict(&mut self, strict: bool) -> &mut JsRuntimeBuilder
pub fn set_strict(&mut self, strict: bool) -> &mut JsRuntimeBuilder
Evaluate all scripts in strict mode,
regardless of "use strict" directives.
pub fn maybe_with_recursion_limit(
self,
limit: Option<usize>,
) -> JsRuntimeBuilder
pub fn maybe_with_recursion_limit( self, limit: Option<usize>, ) -> JsRuntimeBuilder
Limit the depth of recursive calls within scripts.
Defaults to Self::DEFAULT_RECURSION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn maybe_set_recursion_limit(
&mut self,
limit: Option<usize>,
) -> &mut JsRuntimeBuilder
pub fn maybe_set_recursion_limit( &mut self, limit: Option<usize>, ) -> &mut JsRuntimeBuilder
Limit the depth of recursive calls within scripts.
Defaults to Self::DEFAULT_RECURSION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn with_recursion_limit(self, limit: usize) -> JsRuntimeBuilder
pub fn with_recursion_limit(self, limit: usize) -> JsRuntimeBuilder
Limit the depth of recursive calls within scripts.
Defaults to Self::DEFAULT_RECURSION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn set_recursion_limit(&mut self, limit: usize) -> &mut JsRuntimeBuilder
pub fn set_recursion_limit(&mut self, limit: usize) -> &mut JsRuntimeBuilder
Limit the depth of recursive calls within scripts.
Defaults to Self::DEFAULT_RECURSION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn without_recursion_limit(self) -> JsRuntimeBuilder
pub fn without_recursion_limit(self) -> JsRuntimeBuilder
Limit the depth of recursive calls within scripts.
Defaults to Self::DEFAULT_RECURSION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn unset_recursion_limit(&mut self) -> &mut JsRuntimeBuilder
pub fn unset_recursion_limit(&mut self) -> &mut JsRuntimeBuilder
Limit the depth of recursive calls within scripts.
Defaults to Self::DEFAULT_RECURSION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn maybe_with_loop_iteration_limit(
self,
limit: Option<u64>,
) -> JsRuntimeBuilder
pub fn maybe_with_loop_iteration_limit( self, limit: Option<u64>, ) -> JsRuntimeBuilder
Limit the number of loop iterations one function activation may run, cumulative across all loops in that call frame.
Each function call gets a fresh budget: this stops a runaway loop, not the total work a script performs across many calls (see the crate docs on the reach of these limits).
Defaults to Self::DEFAULT_LOOP_ITERATION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn maybe_set_loop_iteration_limit(
&mut self,
limit: Option<u64>,
) -> &mut JsRuntimeBuilder
pub fn maybe_set_loop_iteration_limit( &mut self, limit: Option<u64>, ) -> &mut JsRuntimeBuilder
Limit the number of loop iterations one function activation may run, cumulative across all loops in that call frame.
Each function call gets a fresh budget: this stops a runaway loop, not the total work a script performs across many calls (see the crate docs on the reach of these limits).
Defaults to Self::DEFAULT_LOOP_ITERATION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn with_loop_iteration_limit(self, limit: u64) -> JsRuntimeBuilder
pub fn with_loop_iteration_limit(self, limit: u64) -> JsRuntimeBuilder
Limit the number of loop iterations one function activation may run, cumulative across all loops in that call frame.
Each function call gets a fresh budget: this stops a runaway loop, not the total work a script performs across many calls (see the crate docs on the reach of these limits).
Defaults to Self::DEFAULT_LOOP_ITERATION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn set_loop_iteration_limit(&mut self, limit: u64) -> &mut JsRuntimeBuilder
pub fn set_loop_iteration_limit(&mut self, limit: u64) -> &mut JsRuntimeBuilder
Limit the number of loop iterations one function activation may run, cumulative across all loops in that call frame.
Each function call gets a fresh budget: this stops a runaway loop, not the total work a script performs across many calls (see the crate docs on the reach of these limits).
Defaults to Self::DEFAULT_LOOP_ITERATION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn without_loop_iteration_limit(self) -> JsRuntimeBuilder
pub fn without_loop_iteration_limit(self) -> JsRuntimeBuilder
Limit the number of loop iterations one function activation may run, cumulative across all loops in that call frame.
Each function call gets a fresh budget: this stops a runaway loop, not the total work a script performs across many calls (see the crate docs on the reach of these limits).
Defaults to Self::DEFAULT_LOOP_ITERATION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn unset_loop_iteration_limit(&mut self) -> &mut JsRuntimeBuilder
pub fn unset_loop_iteration_limit(&mut self) -> &mut JsRuntimeBuilder
Limit the number of loop iterations one function activation may run, cumulative across all loops in that call frame.
Each function call gets a fresh budget: this stops a runaway loop, not the total work a script performs across many calls (see the crate docs on the reach of these limits).
Defaults to Self::DEFAULT_LOOP_ITERATION_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn maybe_with_stack_size_limit(
self,
limit: Option<usize>,
) -> JsRuntimeBuilder
pub fn maybe_with_stack_size_limit( self, limit: Option<usize>, ) -> JsRuntimeBuilder
Limit the size of the script value stack.
Defaults to Self::DEFAULT_STACK_SIZE_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn maybe_set_stack_size_limit(
&mut self,
limit: Option<usize>,
) -> &mut JsRuntimeBuilder
pub fn maybe_set_stack_size_limit( &mut self, limit: Option<usize>, ) -> &mut JsRuntimeBuilder
Limit the size of the script value stack.
Defaults to Self::DEFAULT_STACK_SIZE_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn with_stack_size_limit(self, limit: usize) -> JsRuntimeBuilder
pub fn with_stack_size_limit(self, limit: usize) -> JsRuntimeBuilder
Limit the size of the script value stack.
Defaults to Self::DEFAULT_STACK_SIZE_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn set_stack_size_limit(&mut self, limit: usize) -> &mut JsRuntimeBuilder
pub fn set_stack_size_limit(&mut self, limit: usize) -> &mut JsRuntimeBuilder
Limit the size of the script value stack.
Defaults to Self::DEFAULT_STACK_SIZE_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn without_stack_size_limit(self) -> JsRuntimeBuilder
pub fn without_stack_size_limit(self) -> JsRuntimeBuilder
Limit the size of the script value stack.
Defaults to Self::DEFAULT_STACK_SIZE_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn unset_stack_size_limit(&mut self) -> &mut JsRuntimeBuilder
pub fn unset_stack_size_limit(&mut self) -> &mut JsRuntimeBuilder
Limit the size of the script value stack.
Defaults to Self::DEFAULT_STACK_SIZE_LIMIT; None removes
the limit entirely. Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded.
pub fn maybe_with_execution_time_limit(
self,
limit: Option<Duration>,
) -> JsRuntimeBuilder
pub fn maybe_with_execution_time_limit( self, limit: Option<Duration>, ) -> JsRuntimeBuilder
Best-effort wall-clock limit on each evaluation or call.
Checked between VM instructions while scripts run, so it also bounds work the per-frame limits cannot: loops spread across many function calls. A single native operation (a huge string operation, a pathological regex, …) is not interrupted mid-flight, and getters running while result values are snapshotted fall outside the limit.
Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded
and poisons the runtime (JsRuntime::is_poisoned): the script
was aborted mid-execution, so every later operation fails with
JsErrorKind::Setup. A
JsWorker whose runtime got poisoned exits,
failing pending jobs fast (fail-loud, like a panicking host
function).
Calls run through an internal dispatch script, as the engine
can only interrupt script evaluation: this reserves the frozen
__rama_js_call__ global, which never exposes host data and
cannot be registered as a global name yourself.
Defaults to None: no time limit.
pub fn maybe_set_execution_time_limit(
&mut self,
limit: Option<Duration>,
) -> &mut JsRuntimeBuilder
pub fn maybe_set_execution_time_limit( &mut self, limit: Option<Duration>, ) -> &mut JsRuntimeBuilder
Best-effort wall-clock limit on each evaluation or call.
Checked between VM instructions while scripts run, so it also bounds work the per-frame limits cannot: loops spread across many function calls. A single native operation (a huge string operation, a pathological regex, …) is not interrupted mid-flight, and getters running while result values are snapshotted fall outside the limit.
Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded
and poisons the runtime (JsRuntime::is_poisoned): the script
was aborted mid-execution, so every later operation fails with
JsErrorKind::Setup. A
JsWorker whose runtime got poisoned exits,
failing pending jobs fast (fail-loud, like a panicking host
function).
Calls run through an internal dispatch script, as the engine
can only interrupt script evaluation: this reserves the frozen
__rama_js_call__ global, which never exposes host data and
cannot be registered as a global name yourself.
Defaults to None: no time limit.
pub fn with_execution_time_limit(self, limit: Duration) -> JsRuntimeBuilder
pub fn with_execution_time_limit(self, limit: Duration) -> JsRuntimeBuilder
Best-effort wall-clock limit on each evaluation or call.
Checked between VM instructions while scripts run, so it also bounds work the per-frame limits cannot: loops spread across many function calls. A single native operation (a huge string operation, a pathological regex, …) is not interrupted mid-flight, and getters running while result values are snapshotted fall outside the limit.
Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded
and poisons the runtime (JsRuntime::is_poisoned): the script
was aborted mid-execution, so every later operation fails with
JsErrorKind::Setup. A
JsWorker whose runtime got poisoned exits,
failing pending jobs fast (fail-loud, like a panicking host
function).
Calls run through an internal dispatch script, as the engine
can only interrupt script evaluation: this reserves the frozen
__rama_js_call__ global, which never exposes host data and
cannot be registered as a global name yourself.
Defaults to None: no time limit.
pub fn set_execution_time_limit(
&mut self,
limit: Duration,
) -> &mut JsRuntimeBuilder
pub fn set_execution_time_limit( &mut self, limit: Duration, ) -> &mut JsRuntimeBuilder
Best-effort wall-clock limit on each evaluation or call.
Checked between VM instructions while scripts run, so it also bounds work the per-frame limits cannot: loops spread across many function calls. A single native operation (a huge string operation, a pathological regex, …) is not interrupted mid-flight, and getters running while result values are snapshotted fall outside the limit.
Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded
and poisons the runtime (JsRuntime::is_poisoned): the script
was aborted mid-execution, so every later operation fails with
JsErrorKind::Setup. A
JsWorker whose runtime got poisoned exits,
failing pending jobs fast (fail-loud, like a panicking host
function).
Calls run through an internal dispatch script, as the engine
can only interrupt script evaluation: this reserves the frozen
__rama_js_call__ global, which never exposes host data and
cannot be registered as a global name yourself.
Defaults to None: no time limit.
pub fn without_execution_time_limit(self) -> JsRuntimeBuilder
pub fn without_execution_time_limit(self) -> JsRuntimeBuilder
Best-effort wall-clock limit on each evaluation or call.
Checked between VM instructions while scripts run, so it also bounds work the per-frame limits cannot: loops spread across many function calls. A single native operation (a huge string operation, a pathological regex, …) is not interrupted mid-flight, and getters running while result values are snapshotted fall outside the limit.
Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded
and poisons the runtime (JsRuntime::is_poisoned): the script
was aborted mid-execution, so every later operation fails with
JsErrorKind::Setup. A
JsWorker whose runtime got poisoned exits,
failing pending jobs fast (fail-loud, like a panicking host
function).
Calls run through an internal dispatch script, as the engine
can only interrupt script evaluation: this reserves the frozen
__rama_js_call__ global, which never exposes host data and
cannot be registered as a global name yourself.
Defaults to None: no time limit.
pub fn unset_execution_time_limit(&mut self) -> &mut JsRuntimeBuilder
pub fn unset_execution_time_limit(&mut self) -> &mut JsRuntimeBuilder
Best-effort wall-clock limit on each evaluation or call.
Checked between VM instructions while scripts run, so it also bounds work the per-frame limits cannot: loops spread across many function calls. A single native operation (a huge string operation, a pathological regex, …) is not interrupted mid-flight, and getters running while result values are snapshotted fall outside the limit.
Exceeding it fails the evaluation with
JsErrorKind::LimitExceeded
and poisons the runtime (JsRuntime::is_poisoned): the script
was aborted mid-execution, so every later operation fails with
JsErrorKind::Setup. A
JsWorker whose runtime got poisoned exits,
failing pending jobs fast (fail-loud, like a panicking host
function).
Calls run through an internal dispatch script, as the engine
can only interrupt script evaluation: this reserves the frozen
__rama_js_call__ global, which never exposes host data and
cannot be registered as a global name yourself.
Defaults to None: no time limit.
pub fn with_snapshot_limits(self, limits: JsSnapshotLimits) -> JsRuntimeBuilder
pub fn with_snapshot_limits(self, limits: JsSnapshotLimits) -> JsRuntimeBuilder
Configure resource limits for values copied out of the JS engine.
These limits apply to results, thrown values, and host-function
arguments. The safe defaults are defined by JsSnapshotLimits.
pub fn set_snapshot_limits(
&mut self,
limits: JsSnapshotLimits,
) -> &mut JsRuntimeBuilder
pub fn set_snapshot_limits( &mut self, limits: JsSnapshotLimits, ) -> &mut JsRuntimeBuilder
Configure resource limits for values copied out of the JS engine.
These limits apply to results, thrown values, and host-function
arguments. The safe defaults are defined by JsSnapshotLimits.
pub fn with_global(
self,
name: impl Into<JsStr>,
global: impl IntoJsGlobal,
) -> JsRuntimeBuilder
pub fn with_global( self, name: impl Into<JsStr>, global: impl IntoJsGlobal, ) -> JsRuntimeBuilder
Register a global: a value convertible Into<JsValue>,
or a JsNamespace host object.
pub fn set_global(
&mut self,
name: impl Into<JsStr>,
global: impl IntoJsGlobal,
) -> &mut JsRuntimeBuilder
pub fn set_global( &mut self, name: impl Into<JsStr>, global: impl IntoJsGlobal, ) -> &mut JsRuntimeBuilder
Register a global: a value convertible Into<JsValue>,
or a JsNamespace host object.
pub fn with_fn<A, F>(self, name: impl Into<JsStr>, f: F) -> JsRuntimeBuilderwhere
F: JsFn<A>,
pub fn with_fn<A, F>(self, name: impl Into<JsStr>, f: F) -> JsRuntimeBuilderwhere
F: JsFn<A>,
Register a global host function with typed,
extractor-style arguments (see JsFn).
Trait Implementations§
§impl Clone for JsRuntimeBuilder
impl Clone for JsRuntimeBuilder
§fn clone(&self) -> JsRuntimeBuilder
fn clone(&self) -> JsRuntimeBuilder
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for JsRuntimeBuilder
impl Debug for JsRuntimeBuilder
§impl Default for JsRuntimeBuilder
impl Default for JsRuntimeBuilder
§fn default() -> JsRuntimeBuilder
fn default() -> JsRuntimeBuilder
Auto Trait Implementations§
impl !RefUnwindSafe for JsRuntimeBuilder
impl !UnwindSafe for JsRuntimeBuilder
impl Freeze for JsRuntimeBuilder
impl Send for JsRuntimeBuilder
impl Sync for JsRuntimeBuilder
impl Unpin for JsRuntimeBuilder
impl UnsafeUnpin for JsRuntimeBuilder
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Conv for T
impl<T> Conv for T
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> FutureExt for T
impl<T> FutureExt for T
§fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
fn with_context(self, otel_cx: Context) -> WithContext<Self> ⓘ
§fn with_current_context(self) -> WithContext<Self> ⓘ
fn with_current_context(self) -> WithContext<Self> ⓘ
§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> ⓘ
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> ⓘ
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a rama_grpc::Request§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,
§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,
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,
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
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
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
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
§fn and<P, B, E>(self, other: P) -> And<T, P>
fn and<P, B, E>(self, other: P) -> And<T, P>
Policy that returns Action::Follow only if self and other return
Action::Follow. Read more§impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
impl<T, U> RamaTryFrom<T> for Uwhere
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
fn rama_try_from(value: T) -> Result<U, <U as RamaTryFrom<T>>::Error>
§impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
impl<T, U, CrateMarker> RamaTryInto<U, CrateMarker> for Twhere
U: RamaTryFrom<T, CrateMarker>,
type Error = <U as RamaTryFrom<T, CrateMarker>>::Error
fn rama_try_into(self) -> Result<U, <U as RamaTryFrom<T, CrateMarker>>::Error>
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§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
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
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
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
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
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
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
.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
.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
.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
.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
.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
.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
.tap_deref() only in debug builds, and is erased in release
builds.