struct RAssertion {
param: String,
requirement: String,
condition: String,
message: Option<String>,
}Expand description
A single R-side check on one parameter: a requirement and the R condition enforcing it.
Formatted as a guard (see RAssertion::to_guard):
if (!isTRUE(is.numeric(x))) .miniextendr_arg_error("x", "must be numeric").
Fields§
§param: StringR name of the checked parameter (e$param on failure).
requirement: StringWhat the parameter must satisfy, without the parameter name
(must be numeric). The condition message is '<param>' <requirement>.
condition: StringR expression that must evaluate to TRUE for the check to pass.
message: Option<String>The author’s own condition message (message = "..." on inherits /
not_inherits / no_na; an inherits message also on the
parameter’s type checks),
used verbatim instead of '<param>' <requirement>.
Implementations§
Source§impl RAssertion
impl RAssertion
Sourcefn new(
param: impl Into<String>,
requirement: impl Into<String>,
condition: impl Into<String>,
) -> Self
fn new( param: impl Into<String>, requirement: impl Into<String>, condition: impl Into<String>, ) -> Self
Create a new assertion on param with its requirement and R condition expression.
Sourcefn with_message(self, message: Option<&String>) -> Self
fn with_message(self, message: Option<&String>) -> Self
Use message verbatim as the condition message of a failure.
Sourcefn to_guard(&self, call: Option<&str>) -> String
fn to_guard(&self, call: Option<&str>) -> String
Format as a guard that raises an argument error on failure:
if (!isTRUE(condition)) .miniextendr_arg_error("param", "requirement"),
or with the author’s message
if (!isTRUE(condition)) .miniextendr_arg_error("param", message = "...").
call is the call the error is attributed to. None leaves the
helper’s default, the wrapper’s own call (what stopifnot() reported);
a call = caller wrapper passes .mx_call (#1548). Next to a named
message the call is named too: positionally it would bind to what.
Auto Trait Implementations§
impl Freeze for RAssertion
impl RefUnwindSafe for RAssertion
impl Send for RAssertion
impl Sync for RAssertion
impl Unpin for RAssertion
impl UnsafeUnpin for RAssertion
impl UnwindSafe for RAssertion
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: 96 bytes