Skip to main content

no_na_value_stmt

Function no_na_value_stmt 

Source
fn no_na_value_stmt(
    ident: &Ident,
    input: Option<&Ident>,
    r_name: &str,
    message: &str,
    crate_class: &[String],
    span: Span,
) -> TokenStream
Expand description

The post-conversion no_na check of the binding ident (R name r_name): when the value holds what its type reads as NA (TryFromSexp::__mx_has_na), return the tagged kind = "conversion" value no_na’s R guard would raise, with message verbatim, the crate’s conversion_error_class and e$param (arg_check_condition_value). The call is the wrapper’s call slot, as for a conversion failure.

input is the argument’s SEXP when no R guard ran (an Either, see r_preconditions::no_na_checked_after_conversion): the value is then asked TryFromSexp::__mx_input_has_na, which also makes the guard’s anyNA() check on the input, by the arm the value converted to.