Skip to main content

ContextStore

Struct ContextStore 

Source
pub struct ContextStore {
    pub compaction_config: CompactionConfig,
    /* private fields */
}
Expand description

Persistent Lance-backed context store.

Fields§

§compaction_config: CompactionConfig

Implementations§

Source§

impl ContextStore

Source

pub async fn evaluate( &self, query_set: &EvalQuerySet, config: &EvalConfig, ) -> LanceResult<EvalReport>

Run a labeled query set against this context at its current version and return a reproducible EvalReport.

Each query is retrieved with config.mode (vector or hybrid) at the config.k cutoff, with config.filters / config.lifecycle applied, then scored against its relevant labels by external_id.

Source

pub async fn evaluate_versions( &mut self, query_set: &EvalQuerySet, config: &EvalConfig, baseline_version: u64, candidate_version: u64, ) -> LanceResult<AbReport>

A/B the same query set across two dataset versions and report per-metric deltas (candidate - baseline). The store is restored to its current version before returning.

Source§

impl ContextStore

Source

pub async fn export_training( &mut self, config: &ExportConfig, output_path: &str, ) -> LanceResult<ExportManifest>

Curate stored records and export them as task-shaped JSONL plus a sibling <output_path>.manifest.json, returning the manifest.

If config.version is set the export is pinned to that dataset version (time-travel) and the store is restored to its current version afterward. Output is written line-by-line, so the full JSONL is never held in memory at once.

Source§

impl ContextStore

Source

pub async fn open(uri: &str) -> LanceResult<Self>

Open an existing context dataset or create a new one with the project schema.

Source

pub async fn open_with_options( uri: &str, options: ContextStoreOptions, ) -> LanceResult<Self>

Open a dataset with explicit object store configuration (e.g. S3 credentials).

Source

pub fn embedding_dim(&self) -> i32

Embedding vector width persisted in this context dataset schema.

Source

pub fn uri(&self) -> &str

URI of the underlying Lance dataset.

Source

pub fn distance_metric(&self) -> DistanceMetric

Distance metric this context ranks vector-search results with.

Source

pub async fn add(&mut self, entries: &[ContextRecord]) -> LanceResult<u64>

Append context records to the store and return the new dataset version.

Source

pub async fn delete_by_id(&mut self, id: &str) -> LanceResult<bool>

Logically forget a record by internal storage id.

This writes a tombstone with the same primary key, preserving prior dataset versions while hiding the record from default reads.

Source

pub async fn delete_by_external_id( &mut self, external_id: &str, ) -> LanceResult<bool>

Logically forget a record by caller-supplied external id.

Source

pub async fn upsert_by_external_id( &mut self, record: ContextRecord, ) -> LanceResult<UpsertResult>

Insert a record or replace the currently-visible record with the same external id.

Replacement is append-only: the new record keeps the same external_id and gets supersedes_id set to the old record id. Default reads hide the superseded record while include_retired reads can still inspect both versions. Caller-supplied supersession fields are ignored because this method manages replacement by external_id.

Source

pub async fn upsert_many_by_external_id( &mut self, records: Vec<ContextRecord>, ) -> LanceResult<Vec<UpsertResult>>

Insert-or-replace a batch of records keyed by external_id, in one logical operation.

For each record: if a currently-visible record with the same external_id exists, it is replaced append-only (the successor gets supersedes_id set to the existing record id and the original is hidden from default reads); otherwise the record is inserted. All rows are written in a single pass, so records sharing a shard land in a single version bump.

Semantics (parity with Self::upsert_by_external_id and add_many):

  • every record must carry a non-empty external_id;
  • duplicate ids or external_ids within the batch are rejected;
  • validation is all-or-nothing — if any record is invalid, nothing is written;
  • caller-supplied supersession fields are ignored (replacement is managed by external_id);
  • an insert whose external_id already exists on a non-tombstone but hidden record is rejected, exactly as a single insert would be.

Existing-key resolution and id uniqueness validation are each done in a single scan for the whole batch (not per record), composing with the indexed id validation so a batch does not full-scan per record.

Returns one UpsertResult per input record, in input order, all carrying the final dataset version.

Source

pub async fn update_by_id( &mut self, id: &str, patch: RecordPatch, ) -> LanceResult<Option<UpdateResult>>

Partially update mutable fields on a visible record by internal id.

The update is append-only: it writes a replacement record that supersedes the current visible record, preserving the original payload and embedding while changing only the requested patch fields.

Source

pub async fn update_by_external_id( &mut self, external_id: &str, patch: RecordPatch, ) -> LanceResult<Option<UpdateResult>>

Partially update mutable fields on a visible record by external id.

Returns Ok(None) when no visible record currently has the external id.

Source

pub fn version(&self) -> u64

Current dataset version.

Source

pub async fn migrate_relationships_column(&mut self) -> LanceResult<bool>

Add the relationships column to an older dataset if it is missing.

Existing rows are stored as null in the new column and read back as an empty relationship list.

Source

pub async fn checkout(&mut self, version_id: u64) -> LanceResult<()>

Checkout a specific dataset version.

Source

pub async fn get(&self, id: &str) -> LanceResult<Option<ContextRecord>>

Retrieve a single record by its unique ID.

Source

pub async fn list( &self, limit: Option<usize>, offset: Option<usize>, ) -> LanceResult<Vec<ContextRecord>>

List all records in the dataset.

Source

pub async fn list_filtered( &self, limit: Option<usize>, offset: Option<usize>, filters: Option<&RecordFilters>, ) -> LanceResult<Vec<ContextRecord>>

List records matching filters.

Source

pub async fn list_with_options( &self, limit: Option<usize>, offset: Option<usize>, options: LifecycleQueryOptions, ) -> LanceResult<Vec<ContextRecord>>

List records, applying lifecycle visibility and supersession before offset/limit.

Source

pub async fn list_filtered_with_options( &self, limit: Option<usize>, offset: Option<usize>, filters: Option<&RecordFilters>, options: LifecycleQueryOptions, ) -> LanceResult<Vec<ContextRecord>>

List records matching filters, applying lifecycle visibility before offset/limit.

Source

pub async fn get_by_id(&self, id: &str) -> LanceResult<Option<ContextRecord>>

Find a record by its internal storage id.

Source

pub async fn get_by_external_id( &self, external_id: &str, ) -> LanceResult<Option<ContextRecord>>

Find a record by its caller-supplied external id.

List records that have a relationship targeting target_id.

List related records, applying lifecycle visibility before relationship matching.

Source

pub async fn search( &self, query: &[f32], limit: Option<usize>, ) -> LanceResult<Vec<SearchResult>>

Perform a nearest-neighbor search over stored embeddings.

Source

pub async fn search_filtered( &self, query: &[f32], limit: Option<usize>, filters: Option<&RecordFilters>, ) -> LanceResult<Vec<SearchResult>>

Perform a nearest-neighbor search over stored embeddings matching filters.

Source

pub async fn search_with_options( &self, query: &[f32], limit: Option<usize>, options: LifecycleQueryOptions, ) -> LanceResult<Vec<SearchResult>>

Perform nearest-neighbor search after applying lifecycle visibility.

Source

pub async fn search_filtered_with_options( &self, query: &[f32], limit: Option<usize>, filters: Option<&RecordFilters>, options: LifecycleQueryOptions, ) -> LanceResult<Vec<SearchResult>>

Perform nearest-neighbor search after applying filters and lifecycle visibility.

Source

pub async fn retrieve_filtered_with_options( &self, text: Option<&str>, vector: Option<&[f32]>, limit: Option<usize>, filters: Option<&RecordFilters>, options: LifecycleQueryOptions, ) -> LanceResult<Vec<RetrieveResult>>

Retrieve records using optional text and vector channels, after filters and lifecycle visibility.

Source

pub async fn compact( &mut self, options: Option<CompactionConfig>, ) -> LanceResult<CompactionMetrics>

Manually trigger compaction to merge small fragments.

Source

pub async fn should_compact(&self) -> LanceResult<bool>

Check if compaction should run based on configuration thresholds.

Source

pub async fn compaction_stats(&self) -> LanceResult<CompactionStats>

Get current compaction statistics.

Source

pub async fn create_id_index(&mut self) -> LanceResult<()>

Create (or replace) the scalar index on the id column.

Source

pub async fn stop_background_compaction(&mut self) -> LanceResult<()>

Stop background compaction task.

Source

pub fn schema(blob_columns: &HashSet<String>) -> Schema

Lance schema for the context store.

When blob_columns contains a column name, that column is stored using Lance V1 blob encoding (out-of-line binary buffers). For text_payload, this also changes the Arrow type from LargeUtf8 to LargeBinary.

Source

pub fn schema_with_embedding_dim( blob_columns: &HashSet<String>, embedding_dim: i32, ) -> Schema

Lance schema for a context store using a caller-selected embedding width.

Trait Implementations§

Source§

impl Clone for ContextStore

Source§

fn clone(&self) -> ContextStore

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 ContextStoreApi for ContextStore

Source§

async fn add( &mut self, records: &[AddRecordRequest], ) -> ContextResult<AddRecordsResponse>

Source§

async fn upsert( &mut self, request: &UpsertRecordRequest, ) -> ContextResult<UpsertRecordResponse>

Source§

async fn upsert_many( &mut self, request: &UpsertRecordsRequest, ) -> ContextResult<UpsertRecordsResponse>

Source§

async fn update( &mut self, request: &UpdateRecordRequest, ) -> ContextResult<UpdateRecordResponse>

Source§

async fn get(&self, id: &str) -> ContextResult<Option<RecordDto>>

Source§

async fn get_by_external_id( &self, external_id: &str, ) -> ContextResult<Option<RecordDto>>

Source§

async fn delete_by_id( &mut self, id: &str, ) -> ContextResult<DeleteRecordResponse>

Source§

async fn delete_by_external_id( &mut self, external_id: &str, ) -> ContextResult<DeleteRecordResponse>

Source§

async fn list( &self, limit: Option<usize>, offset: Option<usize>, filters: Option<Value>, include_expired: bool, include_retired: bool, ) -> ContextResult<Vec<RecordDto>>

Source§

async fn related( &self, target_id: &str, relation: Option<&str>, limit: Option<usize>, include_expired: bool, include_retired: bool, ) -> ContextResult<Vec<RecordDto>>

Source§

async fn search( &self, request: &SearchRequest, ) -> ContextResult<Vec<SearchResultDto>>

Source§

async fn retrieve( &self, request: &RetrieveRequest, ) -> ContextResult<Vec<RetrieveResultDto>>

Source§

fn version(&self) -> u64

Source§

async fn checkout(&mut self, version: u64) -> ContextResult<()>

Source§

async fn compact( &mut self, options: Option<CompactRequest>, ) -> ContextResult<CompactResponse>

Source§

async fn compaction_stats(&self) -> ContextResult<CompactStatsResponse>

Source§

impl Drop for ContextStore

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

fn pin_drop(self: Pin<&mut Self>)

🔬This is a nightly-only experimental API. (pin_ergonomics)
Execute the destructor for this type, but different to Drop::drop, it requires self to be pinned. Read more

Auto Trait Implementations§

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> ArchivePointee for T

Source§

type ArchivedMetadata = ()

The archived version of the pointer metadata for this type.
Source§

fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata

Converts some archived metadata to the pointer metadata for itself.
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> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> DropFlavorWrapper<T> for T

Source§

type Flavor = MayDrop

The DropFlavor that wraps T into Self
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

Source§

const WITNESS: W = W::MAKE

A constant of the type witness
Source§

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

Source§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
Source§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
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<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

Source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
Source§

impl<T> LayoutRaw for T

Source§

fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>

Returns the layout of the type.
Source§

impl<T> MaybeSend for T
where T: Send,

Source§

impl<T> MaybeSend for T
where T: Send,

Source§

impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
where T: SharedNiching<N1, N2>, N1: Niching<T>, N2: Niching<T>,

Source§

unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool

Returns whether the given value has been niched. Read more
Source§

fn resolve_niched(out: Place<NichedOption<T, N1>>)

Writes data to out indicating that a T is niched.
Source§

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

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
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> Pointee for T

Source§

type Metadata = ()

The metadata type for pointers and references to this type.
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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
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> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. 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
Source§

impl<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

Source§

fn is_within(&self, b: &G2) -> bool