pub(crate) struct EnumSingleFieldData {
pub(crate) col_name: Ident,
pub(crate) binding: Ident,
pub(crate) rust_name: Ident,
pub(crate) ty: Type,
pub(crate) needs_into_list: bool,
pub(crate) is_factor: bool,
}Expand description
Data for EnumResolvedField::Single.
Fields§
§col_name: IdentColumn name in the schema.
binding: IdentBinding name used in destructure pattern.
rust_name: IdentOriginal Rust field name (for named variants).
ty: TypeColumn type stored in the companion Vec.
For most fields this is the raw Rust type. When needs_into_list is
true (struct-typed fields with #[dataframe(as_list)]), this is
::miniextendr_api::list::List — the actual inner type is erased at
the storage level and each row value is converted via .into_list().
needs_into_list: boolWhether the field’s value must be converted via .into_list() before
being pushed into the companion Vec<Option<List>>.
Set to true only for struct-typed fields (FieldTypeKind::Struct)
that carry #[dataframe(as_list)]. The companion struct field type is
Vec<Option<::miniextendr_api::list::List>> in this case.
is_factor: boolWhether the field should be emitted as an R factor column.
Set to true for fields annotated with #[dataframe(as_factor)].
The companion struct field type is Vec<Option<T>> (unchanged), but
into_data_frame wraps it in FactorOptionVec<T> to use the
UnitEnumFactor-based blanket IntoR impl.
Auto Trait Implementations§
impl Freeze for EnumSingleFieldData
impl RefUnwindSafe for EnumSingleFieldData
impl !Send for EnumSingleFieldData
impl !Sync for EnumSingleFieldData
impl Unpin for EnumSingleFieldData
impl UnsafeUnpin for EnumSingleFieldData
impl UnwindSafe for EnumSingleFieldData
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> 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: 424 bytes