#[non_exhaustive]#[repr(u32)]pub enum SEXPTYPE {
Show 27 variants
NILSXP = 0,
SYMSXP = 1,
LISTSXP = 2,
CLOSXP = 3,
ENVSXP = 4,
PROMSXP = 5,
LANGSXP = 6,
SPECIALSXP = 7,
BUILTINSXP = 8,
CHARSXP = 9,
LGLSXP = 10,
INTSXP = 13,
REALSXP = 14,
CPLXSXP = 15,
STRSXP = 16,
DOTSXP = 17,
ANYSXP = 18,
VECSXP = 19,
EXPRSXP = 20,
BCODESXP = 21,
EXTPTRSXP = 22,
WEAKREFSXP = 23,
RAWSXP = 24,
S4SXP = 25,
NEWSXP = 30,
FREESXP = 31,
FUNSXP = 99,
}Expand description
R S-expression tag values (SEXPTYPE).
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NILSXP = 0
nil = NULL
SYMSXP = 1
symbols
LISTSXP = 2
lists of dotted pairs
CLOSXP = 3
closures
ENVSXP = 4
environments
PROMSXP = 5
promises: [un]evaluated closure arguments
LANGSXP = 6
language constructs (special lists)
SPECIALSXP = 7
special forms
BUILTINSXP = 8
builtin non-special forms
CHARSXP = 9
“scalar” string type (internal only)
LGLSXP = 10
logical vectors
INTSXP = 13
integer vectors
REALSXP = 14
real variables
CPLXSXP = 15
complex variables
STRSXP = 16
string vectors
DOTSXP = 17
dot-dot-dot object
ANYSXP = 18
make “any” args work
VECSXP = 19
generic vectors
EXPRSXP = 20
expressions vectors
BCODESXP = 21
byte code
EXTPTRSXP = 22
external pointer
WEAKREFSXP = 23
weak reference
RAWSXP = 24
raw bytes
S4SXP = 25
S4 non-vector
NEWSXP = 30
fresh node created in new page
FREESXP = 31
node released by GC
FUNSXP = 99
Closure or Builtin
Implementations§
Trait Implementations§
Source§impl Eq for SEXPTYPE
impl Eq for SEXPTYPE
Source§#[doc(hidden)]fn assert_fields_are_eq(&self)
#[doc(hidden)]fn assert_fields_are_eq(&self)
derive_eq_internals)1.0.0 (const: unstable) · Source§#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
#[doc(hidden)]fn assert_receiver_is_total_eq(&self)
implementation detail of #[derive(Eq)]
impl Copy for SEXPTYPE
impl StructuralPartialEq for SEXPTYPE
impl TrivialClone for SEXPTYPE
Auto Trait Implementations§
impl Freeze for SEXPTYPE
impl RefUnwindSafe for SEXPTYPE
impl Send for SEXPTYPE
impl Sync for SEXPTYPE
impl Unpin for SEXPTYPE
impl UnsafeUnpin for SEXPTYPE
impl UnwindSafe for SEXPTYPE
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SizeEq<MaybeUninit<T>> for T
impl<T> SizeEq<MaybeUninit<T>> for T
type CastFrom = CastSizedExact
Source§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 moreimpl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> InvariantsEq<ManuallyDrop<T>> for Twhere
T: ?Sized,
impl<T> InvariantsEq<T> for Twhere
T: ?Sized,
impl<T> InvariantsEq<Unalign<T>> for T
impl<T> InvariantsEq<Wrapping<T>> for T
impl<Src, Dst, A, SV, DV, R> MutationCompatible<Src, A, SV, DV, (BecauseRead, R)> for Dst
impl<Src, Dst, A, SV, DV> MutationCompatible<Src, A, SV, DV, BecauseInvariantsEq> for Dstwhere
A: Aliasing,
SV: Validity,
DV: Validity,
Src: TransmuteFrom<Dst, DV, SV> + ?Sized,
Dst: TransmuteFrom<Src, SV, DV> + InvariantsEq<Src> + ?Sized,
impl<T> Printable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
impl<T> TransmuteFrom<Cell<T>, Valid, Valid> for Twhere
T: ?Sized,
impl<T> TransmuteFrom<ManuallyDrop<T>, Valid, Valid> for Twhere
T: ?Sized,
impl<T> TransmuteFrom<ReadOnly<T>, Valid, Valid> for Twhere
T: ?Sized,
impl<Src, Dst> TransmuteFrom<Src, Initialized, Initialized> for Dst
impl<Src, Dst, V> TransmuteFrom<Src, V, Uninit> for Dst
impl<Src, Dst> TransmuteFrom<Src, Valid, Initialized> for Dst
impl<T> TransmuteFrom<Unalign<T>, Valid, Valid> for T
impl<T> TransmuteFrom<UnsafeCell<T>, Valid, Valid> for Twhere
T: ?Sized,
impl<T> TransmuteFrom<Wrapping<T>, Valid, Valid> for T
impl<Src, Dst, A, SV, DV, C, R> TransmuteFromPtr<Src, A, SV, DV, C, R> for Dstwhere
A: Aliasing,
SV: Validity,
DV: Validity,
C: CastExact<Src, Dst>,
Dst: TransmuteFrom<Src, SV, DV> + TryTransmuteFromPtr<Src, A, SV, DV, C, R> + ?Sized,
Src: ?Sized,
impl<Src, Dst, SV, DV, A, C, R> TryTransmuteFromPtr<Src, A, SV, DV, C, (BecauseMutationCompatible, R)> for Dstwhere
A: Aliasing,
SV: Validity,
DV: Validity,
Src: TransmuteFrom<Dst, DV, SV> + ?Sized,
Dst: MutationCompatible<Src, A, SV, DV, R> + ?Sized,
C: CastExact<Src, Dst>,
Layout§
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: 4 bytes
Size for each variant:
NILSXP: 0 bytesSYMSXP: 0 bytesLISTSXP: 0 bytesCLOSXP: 0 bytesENVSXP: 0 bytesPROMSXP: 0 bytesLANGSXP: 0 bytesSPECIALSXP: 0 bytesBUILTINSXP: 0 bytesCHARSXP: 0 bytesLGLSXP: 0 bytesINTSXP: 0 bytesREALSXP: 0 bytesCPLXSXP: 0 bytesSTRSXP: 0 bytesDOTSXP: 0 bytesANYSXP: 0 bytesVECSXP: 0 bytesEXPRSXP: 0 bytesBCODESXP: 0 bytesEXTPTRSXP: 0 bytesWEAKREFSXP: 0 bytesRAWSXP: 0 bytesS4SXP: 0 bytesNEWSXP: 0 bytesFREESXP: 0 bytesFUNSXP: 0 bytes