pub struct ParsedRStr<T>(pub T);Expand description
A value of the string-parsed type T: the inner type of T’s
TryFromSexpElement impl.
Vec<T>, Option<T> and Vec<Option<T>> read the same container of
ParsedRStr<T>, whose conversions here apply the NA policy and batch the
element errors. Plumbing for
try_from_sexp_via_str_parse!.
Tuple Fields§
§0: TTrait Implementations§
Source§impl<T: ParseRStr> TryFromSexp for ParsedRStr<T>
NA_character_ / NULL → SexpError::Na; a parse failure →
InvalidValue("invalid <label>: <error>").
impl<T: ParseRStr> TryFromSexp for ParsedRStr<T>
NA_character_ / NULL → SexpError::Na; a parse failure →
InvalidValue("invalid <label>: <error>").
Source§const CHARACTER_ONLY: bool = true
const CHARACTER_ONLY: bool = true
Whether this conversion accepts only character input: every value it
converts, other than
NULL, is a character vector or a factor. Read moreSource§fn try_from_sexp(sexp: SEXP) -> Result<Self, SexpError>
fn try_from_sexp(sexp: SEXP) -> Result<Self, SexpError>
Attempt to convert an R SEXP to this Rust type. Read more
Source§const NATIVE_BORROW: Option<NativeBorrow> = None
const NATIVE_BORROW: Option<NativeBorrow> = None
Native vector storage retained by this conversion, if any. Read more
Source§#[doc(hidden)]const __MX_EXPECTATION: Option<&'static str> = None
#[doc(hidden)]const __MX_EXPECTATION: Option<&'static str> = None
What an argument of this type must be, in R terms, when
#[miniextendr] cannot tell from the type as written: the
<expected> of a failed conversion’s '<p>' must be <expected>: .... Read moreSource§unsafe fn try_from_sexp_unchecked(sexp: SEXP) -> Result<Self, Self::Error>
unsafe fn try_from_sexp_unchecked(sexp: SEXP) -> Result<Self, Self::Error>
Convert from SEXP without thread safety checks. Read more
Source§#[doc(hidden)]unsafe fn __mx_try_from_rooted(root: Root<'_>) -> Result<Self, Self::Error>
#[doc(hidden)]unsafe fn __mx_try_from_rooted(root: Root<'_>) -> Result<Self, Self::Error>
Convert with a scope able to retain uncached ALTREP elements.
Custom reference converters keep their existing behavior by default. Read more
Source§#[doc(hidden)]fn __mx_has_na(&self) -> bool
#[doc(hidden)]fn __mx_has_na(&self) -> bool
Whether the converted argument holds a value
#[miniextendr(no_na)]
refuses after the conversion. Read moreSource§#[doc(hidden)]fn __mx_input_has_na(&self, input: SEXP) -> bool
#[doc(hidden)]fn __mx_input_has_na(&self, input: SEXP) -> bool
Whether
#[miniextendr(no_na)] refuses this converted argument, read
from input (the R value it converted from), when no R guard ran. Read moreSource§#[doc(hidden)]fn __mx_try_from_sexp_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
#[doc(hidden)]fn __mx_try_from_sexp_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
Convert, running
check, an element type’s
TryFromSexpElement::check_sexp,
on the R value that carries an element’s class (#1837). Read moreSource§#[doc(hidden)]unsafe fn __mx_try_from_sexp_unchecked_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
#[doc(hidden)]unsafe fn __mx_try_from_sexp_unchecked_with_check(
sexp: SEXP,
check: &ElementCheck<'_>,
) -> Result<Self, SexpError>
Auto Trait Implementations§
impl<T> Freeze for ParsedRStr<T>where
T: Freeze,
impl<T> RefUnwindSafe for ParsedRStr<T>where
T: RefUnwindSafe,
impl<T> Send for ParsedRStr<T>where
T: Send,
impl<T> Sync for ParsedRStr<T>where
T: Sync,
impl<T> Unpin for ParsedRStr<T>where
T: Unpin,
impl<T> UnsafeUnpin for ParsedRStr<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for ParsedRStr<T>where
T: UnwindSafe,
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
Mutably borrows from an owned value. Read more
Source§impl<I> OptionInner for I
impl<I> OptionInner for I
Source§const OPTION_NATIVE_BORROW: Option<NativeBorrow> = const OPTION_NATIVE_BORROW: Option<NativeBorrow> =
<Option<I> as TryFromSexp>::NATIVE_BORROW;
const OPTION_NATIVE_BORROW: Option<NativeBorrow> = const OPTION_NATIVE_BORROW: Option<NativeBorrow> = <Option<I> as TryFromSexp>::NATIVE_BORROW;
<Option<Self> as TryFromSexp>::NATIVE_BORROW.Source§const OPTION_CHARACTER_ONLY: bool = const OPTION_CHARACTER_ONLY: bool =
<Option<I> as TryFromSexp>::CHARACTER_ONLY;
const OPTION_CHARACTER_ONLY: bool = const OPTION_CHARACTER_ONLY: bool = <Option<I> as TryFromSexp>::CHARACTER_ONLY;
<Option<Self> as TryFromSexp>::CHARACTER_ONLY.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
🔬This is a nightly-only experimental API. (
core_io_internals)Returns a lower bound on the number of elements this container-like item
contains.
For example, an array
[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 = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGN: usize = _
#[doc(hidden)]const ALIGN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const ALIGNMENT: Alignment = _
#[doc(hidden)]const ALIGNMENT: Alignment = _
🔬This is a nightly-only experimental API. (
ptr_alignment_type)Source§#[doc(hidden)]const IS_ZST: bool = _
#[doc(hidden)]const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const LAYOUT: Layout = _
#[doc(hidden)]const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)]const MAX_SLICE_LEN: usize = _
#[doc(hidden)]const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)The largest safe length for a
[Self]. Read moreSource§impl<I> VecInner for I
impl<I> VecInner for I
Source§const VEC_NATIVE_BORROW: Option<NativeBorrow> = const VEC_NATIVE_BORROW: Option<NativeBorrow> =
<Vec<I> as TryFromSexp>::NATIVE_BORROW;
const VEC_NATIVE_BORROW: Option<NativeBorrow> = const VEC_NATIVE_BORROW: Option<NativeBorrow> = <Vec<I> as TryFromSexp>::NATIVE_BORROW;
<Vec<Self> as TryFromSexp>::NATIVE_BORROW.Source§const VEC_CHARACTER_ONLY: bool = const VEC_CHARACTER_ONLY: bool = <Vec<I> as TryFromSexp>::CHARACTER_ONLY;
const VEC_CHARACTER_ONLY: bool = const VEC_CHARACTER_ONLY: bool = <Vec<I> as TryFromSexp>::CHARACTER_ONLY;
<Vec<Self> as TryFromSexp>::CHARACTER_ONLY.Source§impl<I> VecOptionInner for I
impl<I> VecOptionInner for I
Source§const VEC_OPTION_NATIVE_BORROW: Option<NativeBorrow> = const VEC_OPTION_NATIVE_BORROW: Option<NativeBorrow> =
<Vec<Option<I>> as TryFromSexp>::NATIVE_BORROW;
const VEC_OPTION_NATIVE_BORROW: Option<NativeBorrow> = const VEC_OPTION_NATIVE_BORROW: Option<NativeBorrow> = <Vec<Option<I>> as TryFromSexp>::NATIVE_BORROW;
<Vec<Option<Self>> as TryFromSexp>::NATIVE_BORROW.Source§const VEC_OPTION_CHARACTER_ONLY: bool = const VEC_OPTION_CHARACTER_ONLY: bool =
<Vec<Option<I>> as TryFromSexp>::CHARACTER_ONLY;
const VEC_OPTION_CHARACTER_ONLY: bool = const VEC_OPTION_CHARACTER_ONLY: bool = <Vec<Option<I>> as TryFromSexp>::CHARACTER_ONLY;
<Vec<Option<Self>> as TryFromSexp>::CHARACTER_ONLY.Layout§
Note: Unable to compute type layout, possibly due to this type having generic parameters. Layout can only be computed for concrete, fully-instantiated types.