struct SingleFieldData {
rust_name: Ident,
col_name: Ident,
col_name_str: String,
ty: Type,
tuple_index: Option<Index>,
needs_into_list: bool,
list_elem_ty: Option<Type>,
map_reader: bool,
}Expand description
Data for ResolvedField::Single.
Fields§
§rust_name: IdentRust field name (for access).
col_name: IdentColumn name in the DataFrame.
col_name_str: StringColumn name string.
ty: TypeField type stored in the companion Vec<#ty>. For #[dataframe(as_list)]
on a struct-typed field this is overridden to ::miniextendr_api::list::List
— see needs_into_list.
tuple_index: Option<Index>Index in tuple struct (None for named).
needs_into_list: bool#[dataframe(as_list)] on a struct-typed field (#485 workaround).
When true, the companion field type is overridden to List and
From<Vec<Row>> calls IntoList::into_list() on each row value.
list_elem_ty: Option<Type>Some(elem) when this Single field is an un-annotated owned collection
(Vec<scalar> / Box<[scalar]>) stored as an opaque list-column (#809).
The reader deserialises the list-column back into the owned collection per
row via Vec<elem>: TryFromSexp then .into() to the field container type.
None for scalar Single, as_list, opaque Map/set columns, and borrowed
&[T] (not readable).
map_reader: booltrue when this Single field is a reader-capable map column (#764):
HashMap<String, V> / BTreeMap<String, V> with a reader-scalar V
and no custom hasher. The column is read whole as Vec<#ty> via the
Vec<map>: TryFromSexp list-of-named-lists impl — the same pull_col
path scalar Singles use, so it only widens the capability gate.
Auto Trait Implementations§
impl !Send for SingleFieldData
impl !Sync for SingleFieldData
impl Freeze for SingleFieldData
impl RefUnwindSafe for SingleFieldData
impl Unpin for SingleFieldData
impl UnsafeUnpin for SingleFieldData
impl UnwindSafe for SingleFieldData
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: 752 bytes