pub struct PreconditionOutput {
assertions: Vec<RAssertion>,
pub fallback_params: Vec<FallbackParam>,
}Expand description
Output of precondition analysis for a function’s parameters.
Holds the R-side checks for known types and a list of parameters with unknown types that were not statically prechecked.
Fields§
§assertions: Vec<RAssertion>The checks, in parameter order: each parameter’s class checks, its
type checks, then its NA check (ExplicitChecks). Rendered by
PreconditionOutput::guards.
fallback_params: Vec<FallbackParam>Parameters with unknown custom types that were not prechecked.
Implementations§
Source§impl PreconditionOutput
impl PreconditionOutput
Sourcepub fn guards(&self, call: Option<&str>) -> Vec<String>
pub fn guards(&self, call: Option<&str>) -> Vec<String>
One guard line per check, raising an argument error through
.miniextendr_arg_error when it fails (#1591); empty when there is
nothing to check.
call is the call every failure is attributed to: None for the
wrapper’s own call (the helper’s default, the call stopifnot()
reported), or .mx_call for a call = caller wrapper, which binds the
caller’s matched call before the checks run (#1548).
Auto Trait Implementations§
impl Freeze for PreconditionOutput
impl RefUnwindSafe for PreconditionOutput
impl Send for PreconditionOutput
impl Sync for PreconditionOutput
impl Unpin for PreconditionOutput
impl UnsafeUnpin for PreconditionOutput
impl UnwindSafe for PreconditionOutput
Blanket Implementations§
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
Source§impl<T> SizeHint for Twhere
T: ?Sized,
impl<T> SizeHint for Twhere
T: ?Sized,
Source§default fn lower_bound(&self) -> usize
default fn lower_bound(&self) -> usize
core_io_internals)[u8; 12] could return any value between 0 and
12 inclusively as a correct implementation. Read moreSource§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)]const SIZE: usize = _
#[doc(hidden)]const SIZE: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
sized_type_properties)[Self]. Read moreLayout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes