Skip to main content

Table

Struct Table 

Source
#[repr(C, align(64))]
pub struct Table { pub cols: Vec<FieldArray>, pub n_rows: usize, pub name: String, pub metadata: BTreeMap<String, String>, }
Expand description

§Table

§Description

  • Standard columnar table with named columns (FieldArray), a fixed number of rows, and an optional logical table name.
  • All columns are required to be equal length and have consistent schema.
  • Supports zero-copy slicing, efficient iteration, and bulk operations.
  • Equivalent to the RecordBatch in Apache Arrow.

§Structure

  • cols: A vector of FieldArray, each representing a column with metadata and data.
  • n_rows: The logical number of rows (guaranteed equal for all columns).
  • name: Optional logical name or alias for this table instance.

§Usage

  • Use Table as a general-purpose, in-memory columnar data container.
  • Good for analytics, and transformation pipelines.
  • For batched/partitioned tables, see SuperTable or windowed/chunked abstractions.
  • Cast into Polars dataframe via .to_polars() or Apache Arrow via .to_apache_arrow()
  • FFI-compatible

§Notes

  • Table instances are typically lightweight to clone and pass by value.
  • For mutation, construct a new table or replace individual columns as needed.
  • There is an alias RecordBatch under crate::aliases::RecordBatch

§Example

use minarrow::{fa_i32, fa_str32, Print, Table};

let col1 = fa_i32!("numbers", 1, 2, 3);
let col2 = fa_str32!("letters", "x", "y", "z");

let mut tbl = Table::new("Demo".into(), vec![col1, col2].into());
tbl.print();

Fields§

§cols: Vec<FieldArray>

FieldArrays representing named columns.

§n_rows: usize

Number of rows in the table.

§name: String

Table name

§metadata: BTreeMap<String, String>

Schema-level metadata as key-value pairs. Captures metadata that Arrow producers like PyArrow embed in the top-level ArrowSchema.metadata, e.g. pandas categorical ordering.

Implementations§

Source§

impl Table

Source

pub fn new(name: String, cols: Option<Vec<FieldArray>>) -> Self

Constructs a new Table with a specified name and optional columns. If cols is provided, the number of rows will be inferred from the first column.

Source

pub fn new_with_metadata( name: String, cols: Option<Vec<FieldArray>>, metadata: BTreeMap<String, String>, ) -> Self

Constructs a new Table with schema-level metadata.

Use this when importing data from Arrow producers that embed metadata in the top-level schema, e.g. pandas categorical ordering via PyArrow.

Source

pub fn metadata(&self) -> &BTreeMap<String, String>

Returns a reference to the schema-level metadata.

Source

pub fn new_empty() -> Self

Constructs a new, empty Table with a globally unique name.

Source

pub fn from_arena( name: String, schema: &[Arc<Field>], arena: Arena, regions: Vec<AAMaker>, n_rows: usize, ) -> Self

Build a Table from an Arena and its collected array regions.

Freezes the arena into a SharedBuffer, then reconstructs each column as a zero-copy view into the shared allocation. This is the read-side complement to Arena::write_slices and friends.

Typical use: IPC or streaming ingestion where batch sizes are known from message headers, allowing a single arena allocation per batch.

Source

pub fn add_col(&mut self, field_array: FieldArray)

Adds a column with a name.

Source

pub fn schema(&self) -> Vec<Arc<Field>>

Builds a schema via the underlying field arrays

Source

pub fn n_cols(&self) -> usize

Returns the number of columns.

Source

pub fn n_rows(&self) -> usize

Returns the number of rows.

Source

pub fn is_empty(&self) -> bool

Returns true if the table is empty (no columns or no rows).

Source

pub fn col_names(&self) -> Vec<&str>

Returns the list of column names.

Source

pub fn rename_columns( &mut self, mapping: &[(&str, &str)], ) -> Result<(), MinarrowError>

Rename columns in place. Each pair is (old_name, new_name).

Returns an error if any old name is not found. This is metadata-only - array data is not touched.

Source

pub fn col_name_index(&self, name: &str) -> Option<usize>

Returns the index of a column by name.

Source

pub fn col_numeric(&self, name: &str) -> Result<NumericArrayV, MinarrowError>

Resolve a named column to a NumericArrayV.

Source

pub fn col_text(&self, name: &str) -> Result<TextArrayV, MinarrowError>

Resolve a named column to a TextArrayV.

Source

pub fn col_bitmask(&self, name: &str) -> Result<BitmaskV, MinarrowError>

Resolve a named column to a BitmaskV.

Source

pub fn delete_range(&mut self, start: usize, end: usize)

Removes the rows in [start, end) from every column, shifting later rows left.

Columns delete in place through Vec64::delete_range. Shared columns and shared buffers are cloned first i.e. copy-on-write.

§Panics

Panics if start > end or end > n_rows.

Source

pub fn remove_col(&mut self, name: &str) -> bool

Removes a column by name.

Source

pub fn remove_col_at(&mut self, idx: usize) -> bool

Removes a column by index.

Source

pub fn clear(&mut self)

Clears all columns and resets row count.

Source

pub fn has_col(&self, name: &str) -> bool

Checks if a column with the given name exists.

Source

pub fn cols(&self) -> &[FieldArray]

Returns all columns as a slice.

Source

pub fn cols_mut(&mut self) -> &mut [FieldArray]

Returns mutable reference to all columns.

Source

pub fn iter(&self) -> Iter<'_, FieldArray>

Source

pub fn iter_mut(&mut self) -> IterMut<'_, FieldArray>

Source

pub fn set_name(&mut self, name: impl Into<String>)

Source

pub fn len(&self) -> usize

Source

pub fn slice_clone(&self, offset: usize, len: usize) -> Self

Returns a new owned Table containing rows [offset, offset+len).

All columns are deeply copied, but only for the affected row(s).

Source

pub fn slice(&self, offset: usize, len: usize) -> TableV

Returns a zero-copy view over rows [offset, offset+len). This view borrows from the parent table and does not copy data.

Source

pub fn map_col<T, F>(&self, col_name: &str, func: F) -> Option<T>
where F: FnOnce(&FieldArray) -> T,

Maps a function over a single column by name, returning the result. Returns None if the column doesn’t exist.

Source

pub fn map_cols_by_name<T, F>(&self, col_names: &[&str], func: F) -> Vec<T>
where F: FnMut(&FieldArray) -> T,

Maps a function over multiple columns by name, returning a Vec of results. Warns if any requested columns are missing.

Source

pub fn map_cols_by_index<T, F>(&self, indices: &[usize], func: F) -> Vec<T>
where F: FnMut(&FieldArray) -> T,

Maps a function over multiple columns by index, returning a Vec of results. Warns if any requested indices are out of bounds.

Source

pub fn map_all_cols<T, F>(&self, func: F) -> Vec<T>
where F: FnMut(&FieldArray) -> T,

Maps a function over all columns, returning a Vec of results.

Source

pub fn apply_cols<E>( &self, f: impl FnMut(&FieldArray) -> Result<FieldArray, E>, ) -> Result<Table, E>

Apply a transformation to each column, producing a new table.

The closure receives each FieldArray and returns a transformed FieldArray. To pass a column through unchanged, clone it. The closure can dispatch on Array variant to handle numeric, text, temporal, and boolean columns differently.

Source

pub fn insert_rows( &mut self, index: usize, other: &Self, ) -> Result<(), MinarrowError>

Inserts rows from another table at the specified index.

This is an O(n) operation where n is the number of rows after the insertion point.

§Arguments
  • index - Position before which to insert (0 = prepend, n_rows = append)
  • other - Table to insert
§Requirements
  • Both tables must have the same number of columns
  • Column names, types, and nullability must match in order
  • index must be <= self.n_rows()
§Errors
  • IndexError if index > n_rows
  • IncompatibleTypeError if column schemas don’t match
Source

pub fn split(self, index: usize) -> Result<SuperTable, MinarrowError>

Splits the Table at the specified row index, consuming self and returning a SuperTable with two Table batches.

Splits the underlying buffers, allocating new storage for the second half.

Source§

impl Table

Source

pub fn par_iter(&self) -> Iter<'_, FieldArray>

Source

pub fn par_iter_mut(&mut self) -> IterMut<'_, FieldArray>

Source

pub fn to_apache_arrow(&self) -> RecordBatch

Export each column to arrow-rs ArrayRef and build a RecordBatch.

The Arrow schema is derived from the imported array dtypes while preserving the original field names and nullability flags.

Panics on FFI failure or empty table. For a fallible variant, see Table::try_to_apache_arrow.

Source

pub fn try_to_apache_arrow(&self) -> Result<RecordBatch, MinarrowError>

Fallible variant of Table::to_apache_arrow.

Source

pub fn to_polars(&self) -> DataFrame

Casts the table to a Polars DataFrame.

Panics on FFI failure. For a fallible variant, see Table::try_to_polars.

Source

pub fn try_to_polars(&self) -> Result<DataFrame, MinarrowError>

Fallible variant of Table::to_polars.

Source

pub fn from_apache_arrow(rb: &RecordBatch) -> Table

Build a Table from an arrow-rs RecordBatch. Column names, dtypes, nullability, and any custom field metadata are recovered from the RecordBatch schema. The Table name will be empty; assign one via Table::new if needed.

Panics on FFI failure. For a fallible variant, see Table::try_from_apache_arrow.

Source

pub fn try_from_apache_arrow(rb: &RecordBatch) -> Result<Table, MinarrowError>

Fallible variant of Table::from_apache_arrow.

Source

pub fn from_polars(df: &DataFrame) -> Table

Build a Table from a Polars DataFrame.

A polars DataFrame has columns that are inherently multi-chunked; the canonical mapping is DataFrame <-> crate::SuperTable. This helper routes through crate::SuperTable::from_polars and then consolidates the batches into a single contiguous Table with 64-byte aligned column buffers.

Column names, dtypes, nullability, and any custom Series metadata are recovered.

§Performance note

Two separate costs to be aware of:

  1. Alignment copy: Polars data is typically 8-byte aligned (per the Arrow spec default), while Minarrow uses 64-byte aligned Vec64<T> buffers for SIMD. Most of the time this results in a memory copy to realign on import, unless the source data happens to be pre-aligned to 64 bytes. The FFI hand-off itself is pointer-level zero-copy; the realignment is done by Buffer::from_shared when the source isn’t 64-byte aligned.

  2. Consolidation copy: Multi-chunk columns are merged into a single contiguous buffer per column, which is a second O(n) allocation and copy pass. Single-chunk DataFrames (e.g. after df.align_chunks_par() then df.rechunk() on the caller side) skip this step. The consolidation itself is cheap on Linux when the vmap64 feature is enabled.

In practice you should expect at least one full allocation + copy when importing a polars DataFrame into a Table. If you would like to preserve the original chunk boundaries and avoid the consolidation step, use crate::SuperTable::from_polars directly - though the alignment copy will still occur per chunk that isn’t pre-aligned.

Panics on FFI failure. For a fallible variant, see Table::try_from_polars.

Source

pub fn try_from_polars(df: &DataFrame) -> Result<Table, MinarrowError>

Fallible variant of Table::from_polars.

Trait Implementations§

Source§

impl Add for Table

Source§

type Output = Result<Table, MinarrowError>

The resulting type after applying the + operator.
Source§

fn add(self, rhs: Self) -> Self::Output

Performs the + operation. Read more
Source§

impl ByteSize for Table

ByteSize for Table - sum of all column arrays

Source§

fn est_bytes(&self) -> usize

Returns the estimated byte size of this object in memory. Read more
Source§

impl Clone for Table

Source§

fn clone(&self) -> Table

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl ColumnSelection for Table

Available on crate features select and views only.
Source§

type View = TableV

The view type returned by multi-field selection e.g. TableV
Source§

type ColumnView = ArrayV

A single column view by index e.g. ArrayV
Source§

type ColumnOwned = FieldArray

An owned single field by name via .get() e.g. FieldArray for Table, Arc for Cube
Source§

fn c<S: FieldSelector>(&self, selection: S) -> TableV

Select fields/columns by name, index, or range Read more
Source§

fn get(&self, field: &str) -> Option<FieldArray>

Get a single field by name, returning an owned value.
Source§

fn col_ix(&self, idx: usize) -> Option<ArrayV>

Get a single column view by index
Source§

fn col_vec(&self) -> Vec<ArrayV>

Get all columns as views
Source§

fn get_cols(&self) -> Vec<Arc<Field>>

Get the fields for field resolution
Source§

fn col(&self, name: &str) -> Self::View

Alias for c - select column by name
Source§

impl Combine for Table

Source§

type Element = FieldArray

Element type the container is composed of.
Source§

type Output = Table

Owned container shape produced by combine.
Source§

fn combine( &self, elements: Vec<Self::Element>, ) -> Result<Self::Output, MinarrowError>

Build the output from elements, inheriting self’s name, metadata, and any grouping state.
Source§

impl Concatenate for Table

Source§

fn concat(self, other: Self) -> Result<Self, MinarrowError>

Concatenates two tables vertically (row-wise).

§Requirements
  • Both tables must have the same number of columns
  • Column names, types, and nullability must match in order
§Returns

A new Table with rows from self followed by rows from other

§Errors
  • IncompatibleTypeError if column schemas don’t match
Source§

impl Debug for Table

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Table

Source§

fn default() -> Table

Returns the “default value” for a type. Read more
Source§

impl Display for Table

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Div for Table

Source§

type Output = Result<Table, MinarrowError>

The resulting type after applying the / operator.
Source§

fn div(self, rhs: Self) -> Self::Output

Performs the / operation. Read more
Source§

impl From<&DataFrame> for Table

Available on crate feature cast_polars only.
Source§

fn from(df: &DataFrame) -> Self

Converts to this type from the input type.
Source§

impl From<&RecordBatch> for Table

Available on crate feature cast_arrow only.
Source§

fn from(rb: &RecordBatch) -> Self

Converts to this type from the input type.
Source§

impl From<Table> for Value

Source§

fn from(v: Table) -> Self

Converts to this type from the input type.
Source§

impl From<Table> for TableV

Table -> TableV conversion

Source§

fn from(table: Table) -> Self

Converts to this type from the input type.
Source§

impl From<TableV> for Table

TableV -> Table conversion. Respects active column selection.

Source§

fn from(view: TableV) -> Self

Converts to this type from the input type.
Source§

impl FromIterator<Table> for SuperTable

Source§

fn from_iter<T: IntoIterator<Item = Table>>(iter: T) -> Self

Creates a value from an iterator. Read more
Source§

impl<'a> IntoIterator for &'a Table

Source§

type Item = &'a FieldArray

The type of the elements being iterated over.
Source§

type IntoIter = Iter<'a, FieldArray>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl<'a> IntoIterator for &'a mut Table

Source§

type Item = &'a mut FieldArray

The type of the elements being iterated over.
Source§

type IntoIter = IterMut<'a, FieldArray>

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl IntoIterator for Table

Source§

type Item = FieldArray

The type of the elements being iterated over.
Source§

type IntoIter = <Vec<FieldArray> as IntoIterator>::IntoIter

Which kind of iterator are we turning this into?
Source§

fn into_iter(self) -> Self::IntoIter

Creates an iterator from a value. Read more
Source§

impl Mul for Table

Source§

type Output = Result<Table, MinarrowError>

The resulting type after applying the * operator.
Source§

fn mul(self, rhs: Self) -> Self::Output

Performs the * operation. Read more
Source§

impl PartialEq for Table

Source§

fn eq(&self, other: &Table) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Rem for Table

Source§

type Output = Result<Table, MinarrowError>

The resulting type after applying the % operator.
Source§

fn rem(self, rhs: Self) -> Self::Output

Performs the % operation. Read more
Source§

impl RowSelection for Table

Available on crate features select and views only.
Source§

type View = TableV

The view type returned by selection operations
Source§

fn r<S: DataSelector>(&self, selection: S) -> TableV

Select rows by index or range Read more
Source§

fn get_row_count(&self) -> usize

Get the count for data resolution
Source§

impl Shape for Table

Source§

fn shape(&self) -> ShapeDim

Returns arbitrary Shape dimension for any data shape
Source§

fn shape_1d(&self) -> usize

Returns the first dimension shape Read more
Source§

fn shape_2d(&self) -> (usize, usize)

Returns the first and second dimension shapes Read more
Source§

fn shape_3d(&self) -> (usize, usize, usize)

Returns the first, second and third dimension shapes Read more
Source§

fn shape_4d(&self) -> (usize, usize, usize, usize)

Returns the first, second, third and fourth dimension shapes Read more
Source§

impl StructuralPartialEq for Table

Source§

impl Sub for Table

Source§

type Output = Result<Table, MinarrowError>

The resulting type after applying the - operator.
Source§

fn sub(self, rhs: Self) -> Self::Output

Performs the - operation. Read more
Source§

impl TryFrom<&Table> for Matrix

Source§

type Error = MinarrowError

The type returned in the event of a conversion error.
Source§

fn try_from(table: &Table) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Table> for Matrix

Source§

type Error = MinarrowError

The type returned in the event of a conversion error.
Source§

fn try_from(table: Table) -> Result<Self, Self::Error>

Performs the conversion.
Source§

impl TryFrom<Value> for Table

Source§

type Error = MinarrowError

The type returned in the event of a conversion error.
Source§

fn try_from(v: Value) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl !RefUnwindSafe for Table

§

impl !UnwindSafe for Table

§

impl Freeze for Table

§

impl Send for Table

§

impl Sync for Table

§

impl Unpin for Table

§

impl UnsafeUnpin for Table

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> CustomValue for T
where T: Any + Send + Sync + Clone + PartialEq + Debug,

Source§

fn as_any(&self) -> &(dyn Any + 'static)

Downcasts the type as Any
Source§

fn deep_clone(&self) -> Arc<dyn CustomValue>

Returns a deep clone of the object. Read more
Source§

fn eq_box(&self, other: &(dyn CustomValue + 'static)) -> bool

Performs semantic equality on the boxed object. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<I> IntoStreamingIterator for I
where I: IntoIterator,

Source§

fn into_streaming_iter(self) -> Convert<Self::IntoIter>

Source§

fn into_streaming_iter_ref<'a, T>(self) -> ConvertRef<'a, Self::IntoIter, T>
where Self: IntoIterator<Item = &'a T>, T: ?Sized,

Turns an IntoIterator of references into a StreamingIterator. Read more
Source§

fn into_streaming_iter_mut<'a, T>(self) -> ConvertMut<'a, Self::IntoIter, T>
where Self: IntoIterator<Item = &'a mut T>, T: ?Sized,

Turns an IntoIterator of mutable references into a StreamingIteratorMut. Read more
Source§

impl<T> Key for T
where T: Clone,

Source§

fn align() -> usize

The alignment necessary for the key. Must return a power of two.
Source§

fn size(&self) -> usize

The size of the key in bytes.
Source§

unsafe fn init(&self, ptr: *mut u8)

Initialize the key in the given memory location. Read more
Source§

unsafe fn get<'a>(ptr: *const u8) -> &'a T

Get a reference to the key from the given memory location. Read more
Source§

unsafe fn drop_in_place(ptr: *mut u8)

Drop the key in place. Read more
Source§

impl<T, Rhs, Output> NumOps<Rhs, Output> for T
where T: Sub<Rhs, Output = Output> + Mul<Rhs, Output = Output> + Div<Rhs, Output = Output> + Add<Rhs, Output = Output> + Rem<Rhs, Output = Output>,

Source§

impl<T> PlanCallbackArgs for T

Source§

impl<T> PlanCallbackOut for T

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Print for T
where T: Display,

Source§

fn print(&self)
where Self: Display,

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToCompactString for T
where T: Display,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more