pub struct ContextStore {
pub compaction_config: CompactionConfig,
/* private fields */
}Expand description
Persistent Lance-backed context store.
Fields§
§compaction_config: CompactionConfigImplementations§
Source§impl ContextStore
impl ContextStore
Sourcepub async fn evaluate(
&self,
query_set: &EvalQuerySet,
config: &EvalConfig,
) -> LanceResult<EvalReport>
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.
Sourcepub async fn evaluate_versions(
&mut self,
query_set: &EvalQuerySet,
config: &EvalConfig,
baseline_version: u64,
candidate_version: u64,
) -> LanceResult<AbReport>
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
impl ContextStore
Sourcepub async fn export_training(
&mut self,
config: &ExportConfig,
output_path: &str,
) -> LanceResult<ExportManifest>
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
impl ContextStore
Sourcepub async fn open(uri: &str) -> LanceResult<Self>
pub async fn open(uri: &str) -> LanceResult<Self>
Open an existing context dataset or create a new one with the project schema.
Sourcepub async fn open_with_options(
uri: &str,
options: ContextStoreOptions,
) -> LanceResult<Self>
pub async fn open_with_options( uri: &str, options: ContextStoreOptions, ) -> LanceResult<Self>
Open a dataset with explicit object store configuration (e.g. S3 credentials).
Sourcepub fn embedding_dim(&self) -> i32
pub fn embedding_dim(&self) -> i32
Embedding vector width persisted in this context dataset schema.
Sourcepub fn distance_metric(&self) -> DistanceMetric
pub fn distance_metric(&self) -> DistanceMetric
Distance metric this context ranks vector-search results with.
Sourcepub async fn add(&mut self, entries: &[ContextRecord]) -> LanceResult<u64>
pub async fn add(&mut self, entries: &[ContextRecord]) -> LanceResult<u64>
Append context records to the store and return the new dataset version.
Sourcepub async fn delete_by_id(&mut self, id: &str) -> LanceResult<bool>
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.
Sourcepub async fn delete_by_external_id(
&mut self,
external_id: &str,
) -> LanceResult<bool>
pub async fn delete_by_external_id( &mut self, external_id: &str, ) -> LanceResult<bool>
Logically forget a record by caller-supplied external id.
Sourcepub async fn upsert_by_external_id(
&mut self,
record: ContextRecord,
) -> LanceResult<UpsertResult>
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.
Sourcepub async fn upsert_many_by_external_id(
&mut self,
records: Vec<ContextRecord>,
) -> LanceResult<Vec<UpsertResult>>
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 orexternal_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_idalready 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.
Sourcepub async fn update_by_id(
&mut self,
id: &str,
patch: RecordPatch,
) -> LanceResult<Option<UpdateResult>>
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.
Sourcepub async fn update_by_external_id(
&mut self,
external_id: &str,
patch: RecordPatch,
) -> LanceResult<Option<UpdateResult>>
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.
Sourcepub async fn migrate_relationships_column(&mut self) -> LanceResult<bool>
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.
Sourcepub async fn checkout(&mut self, version_id: u64) -> LanceResult<()>
pub async fn checkout(&mut self, version_id: u64) -> LanceResult<()>
Checkout a specific dataset version.
Sourcepub async fn get(&self, id: &str) -> LanceResult<Option<ContextRecord>>
pub async fn get(&self, id: &str) -> LanceResult<Option<ContextRecord>>
Retrieve a single record by its unique ID.
Sourcepub async fn list(
&self,
limit: Option<usize>,
offset: Option<usize>,
) -> LanceResult<Vec<ContextRecord>>
pub async fn list( &self, limit: Option<usize>, offset: Option<usize>, ) -> LanceResult<Vec<ContextRecord>>
List all records in the dataset.
Sourcepub async fn list_filtered(
&self,
limit: Option<usize>,
offset: Option<usize>,
filters: Option<&RecordFilters>,
) -> LanceResult<Vec<ContextRecord>>
pub async fn list_filtered( &self, limit: Option<usize>, offset: Option<usize>, filters: Option<&RecordFilters>, ) -> LanceResult<Vec<ContextRecord>>
List records matching filters.
Sourcepub async fn list_with_options(
&self,
limit: Option<usize>,
offset: Option<usize>,
options: LifecycleQueryOptions,
) -> LanceResult<Vec<ContextRecord>>
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.
Sourcepub async fn list_filtered_with_options(
&self,
limit: Option<usize>,
offset: Option<usize>,
filters: Option<&RecordFilters>,
options: LifecycleQueryOptions,
) -> LanceResult<Vec<ContextRecord>>
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.
Sourcepub async fn get_by_id(&self, id: &str) -> LanceResult<Option<ContextRecord>>
pub async fn get_by_id(&self, id: &str) -> LanceResult<Option<ContextRecord>>
Find a record by its internal storage id.
Sourcepub async fn get_by_external_id(
&self,
external_id: &str,
) -> LanceResult<Option<ContextRecord>>
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.
Sourcepub async fn search(
&self,
query: &[f32],
limit: Option<usize>,
) -> LanceResult<Vec<SearchResult>>
pub async fn search( &self, query: &[f32], limit: Option<usize>, ) -> LanceResult<Vec<SearchResult>>
Perform a nearest-neighbor search over stored embeddings.
Sourcepub async fn search_filtered(
&self,
query: &[f32],
limit: Option<usize>,
filters: Option<&RecordFilters>,
) -> LanceResult<Vec<SearchResult>>
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.
Sourcepub async fn search_with_options(
&self,
query: &[f32],
limit: Option<usize>,
options: LifecycleQueryOptions,
) -> LanceResult<Vec<SearchResult>>
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.
Sourcepub async fn search_filtered_with_options(
&self,
query: &[f32],
limit: Option<usize>,
filters: Option<&RecordFilters>,
options: LifecycleQueryOptions,
) -> LanceResult<Vec<SearchResult>>
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.
Sourcepub async fn retrieve_filtered_with_options(
&self,
text: Option<&str>,
vector: Option<&[f32]>,
limit: Option<usize>,
filters: Option<&RecordFilters>,
options: LifecycleQueryOptions,
) -> LanceResult<Vec<RetrieveResult>>
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.
Sourcepub async fn compact(
&mut self,
options: Option<CompactionConfig>,
) -> LanceResult<CompactionMetrics>
pub async fn compact( &mut self, options: Option<CompactionConfig>, ) -> LanceResult<CompactionMetrics>
Manually trigger compaction to merge small fragments.
Sourcepub async fn should_compact(&self) -> LanceResult<bool>
pub async fn should_compact(&self) -> LanceResult<bool>
Check if compaction should run based on configuration thresholds.
Sourcepub async fn compaction_stats(&self) -> LanceResult<CompactionStats>
pub async fn compaction_stats(&self) -> LanceResult<CompactionStats>
Get current compaction statistics.
Sourcepub async fn create_id_index(&mut self) -> LanceResult<()>
pub async fn create_id_index(&mut self) -> LanceResult<()>
Create (or replace) the scalar index on the id column.
Sourcepub async fn stop_background_compaction(&mut self) -> LanceResult<()>
pub async fn stop_background_compaction(&mut self) -> LanceResult<()>
Stop background compaction task.
Sourcepub fn schema(blob_columns: &HashSet<String>) -> Schema
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.
Trait Implementations§
Source§impl Clone for ContextStore
impl Clone for ContextStore
Source§fn clone(&self) -> ContextStore
fn clone(&self) -> ContextStore
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl ContextStoreApi for ContextStore
impl ContextStoreApi for ContextStore
async fn add( &mut self, records: &[AddRecordRequest], ) -> ContextResult<AddRecordsResponse>
async fn upsert( &mut self, request: &UpsertRecordRequest, ) -> ContextResult<UpsertRecordResponse>
async fn upsert_many( &mut self, request: &UpsertRecordsRequest, ) -> ContextResult<UpsertRecordsResponse>
async fn update( &mut self, request: &UpdateRecordRequest, ) -> ContextResult<UpdateRecordResponse>
async fn get(&self, id: &str) -> ContextResult<Option<RecordDto>>
async fn get_by_external_id( &self, external_id: &str, ) -> ContextResult<Option<RecordDto>>
async fn delete_by_id( &mut self, id: &str, ) -> ContextResult<DeleteRecordResponse>
async fn delete_by_external_id( &mut self, external_id: &str, ) -> ContextResult<DeleteRecordResponse>
async fn list( &self, limit: Option<usize>, offset: Option<usize>, filters: Option<Value>, include_expired: bool, include_retired: bool, ) -> ContextResult<Vec<RecordDto>>
async fn search( &self, request: &SearchRequest, ) -> ContextResult<Vec<SearchResultDto>>
async fn retrieve( &self, request: &RetrieveRequest, ) -> ContextResult<Vec<RetrieveResultDto>>
fn version(&self) -> u64
async fn checkout(&mut self, version: u64) -> ContextResult<()>
async fn compact( &mut self, options: Option<CompactRequest>, ) -> ContextResult<CompactResponse>
async fn compaction_stats(&self) -> ContextResult<CompactStatsResponse>
Source§impl Drop for ContextStore
impl Drop for ContextStore
Auto Trait Implementations§
impl !RefUnwindSafe for ContextStore
impl !UnwindSafe for ContextStore
impl Freeze for ContextStore
impl Send for ContextStore
impl Sync for ContextStore
impl Unpin for ContextStore
impl UnsafeUnpin for ContextStore
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DropFlavorWrapper<T> for T
impl<T> DropFlavorWrapper<T> for T
Source§impl<T> FmtForward for T
impl<T> FmtForward for T
Source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.Source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.Source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.Source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.Source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.Source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.Source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.Source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
impl<T> MaybeSend for Twhere
T: Send,
impl<T> MaybeSend for Twhere
T: Send,
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
out indicating that a T is niched.Source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
Source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
Source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read moreSource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
Source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
Source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
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
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
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
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T> Tap for T
impl<T> Tap for T
Source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read moreSource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read moreSource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read moreSource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read moreSource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read moreSource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.Source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.Source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.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
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.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
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.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
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.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
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.