Struct Table

Source
pub struct Table {
Show 44 fields pub id: u32, pub schema_id: u32, pub database_id: u32, pub name: String, pub columns: Vec<ColumnCatalog>, pub pk: Vec<ColumnOrder>, pub table_type: i32, pub distribution_key: Vec<i32>, pub stream_key: Vec<i32>, pub append_only: bool, pub owner: u32, pub fragment_id: u32, pub vnode_col_index: Option<u32>, pub row_id_index: Option<u32>, pub value_indices: Vec<i32>, pub definition: String, pub handle_pk_conflict_behavior: i32, pub read_prefix_len_hint: u32, pub watermark_indices: Vec<i32>, pub dist_key_in_pk: Vec<i32>, pub dml_fragment_id: Option<u32>, pub cardinality: Option<Cardinality>, pub initialized_at_epoch: Option<u64>, pub created_at_epoch: Option<u64>, pub cleaned_by_watermark: bool, pub stream_job_status: i32, pub create_type: i32, pub description: Option<String>, pub incoming_sinks: Vec<u32>, pub initialized_at_cluster_version: Option<String>, pub created_at_cluster_version: Option<String>, pub retention_seconds: Option<u32>, pub version_column_indices: Vec<u32>, pub cdc_table_id: Option<String>, pub maybe_vnode_count: Option<u32>, pub webhook_info: Option<WebhookSourceInfo>, pub job_id: Option<u32>, pub engine: Option<i32>, pub clean_watermark_index_in_pk: Option<i32>, pub refreshable: bool, pub vector_index_info: Option<VectorIndexInfo>, pub cdc_table_type: Option<i32>, pub version: Option<TableVersion>, pub optional_associated_source_id: Option<OptionalAssociatedSourceId>,
}
Expand description

Includes full information about a table.

Here Table is an internal concept, corresponding to a table in storage, all of which can be SELECTed. It is not the same as a user-side table created by CREATE TABLE.

See TableCatalog struct in frontend crate for more information.

Fields§

§id: u32§schema_id: u32§database_id: u32§name: String§columns: Vec<ColumnCatalog>§pk: Vec<ColumnOrder>§table_type: i32§distribution_key: Vec<i32>§stream_key: Vec<i32>

pk_indices of the corresponding materialize operator’s output.

§append_only: bool§owner: u32§fragment_id: u32§vnode_col_index: Option<u32>

an optional column index which is the vnode of each row computed by the table’s consistent hash distribution

§row_id_index: Option<u32>

An optional column index of row id. If the primary key is specified by users, this will be None.

§value_indices: Vec<i32>

The column indices which are stored in the state store’s value with row-encoding. Currently is not supported yet and expected to be \[0..columns.len()\].

§definition: String§handle_pk_conflict_behavior: i32

Used to control whether handling pk conflict for incoming data.

§read_prefix_len_hint: u32

Anticipated read prefix pattern (number of fields) for the table, which can be utilized for implementing the table’s bloom filter or other storage optimization techniques.

§watermark_indices: Vec<i32>§dist_key_in_pk: Vec<i32>§dml_fragment_id: Option<u32>

A dml fragment id corresponds to the table, used to decide where the dml statement is executed.

§cardinality: Option<Cardinality>

The range of row count of the table. This field is not always present due to backward compatibility. Use Cardinality::unknown in this case.

§initialized_at_epoch: Option<u64>§created_at_epoch: Option<u64>§cleaned_by_watermark: bool

This field is introduced in v1.2.0. It is used to indicate whether the table should use watermark_cache to avoid state cleaning as a performance optimization. In older versions we can just initialize without it.

§stream_job_status: i32

Used to filter created / creating tables in meta.

§create_type: i32§description: Option<String>

This field is used to store the description set by the comment on clause.

§incoming_sinks: Vec<u32>
👎Deprecated

This field is used to mark the the sink into this table.

§initialized_at_cluster_version: Option<String>

Cluster version (tracked by git commit) when initialized/created

§created_at_cluster_version: Option<String>§retention_seconds: Option<u32>

TTL of the record in the table, to ensure the consistency with other tables in the streaming plan, it only applies to append-only tables.

§version_column_indices: Vec<u32>

This field specifies the indices of the columns set in the “with version column” within all the columns. It is used for filtering during “on conflict” operations. Multiple columns will be compared lexicographically.

§cdc_table_id: Option<String>

The unique identifier of the upstream table if it is a CDC table. It will be used in auto schema change to get the Table which mapped to the upstream table.

§maybe_vnode_count: Option<u32>

Total vnode count of the table.

Use VnodeCountCompat::vnode_count to access it.

  • Can be unset if the table is created in older versions where variable vnode count is not supported, in which case a default value of 256 (or 1 for singleton) should be used.
  • Can be placeholder value Some(0) if the catalog is generated by the frontend and the corresponding job is still in Creating status, in which case calling vnode_count will panic.

Please note that this field is not intended to describe the expected vnode count for a streaming job. Instead, refer to stream_plan.StreamFragmentGraph.max_parallelism.

§webhook_info: Option<WebhookSourceInfo>

The information used by webhook source to validate the incoming data.

§job_id: Option<u32>

This field stores the job ID for internal tables.

§engine: Option<i32>

Table Engine, currently only support hummock and iceberg

§clean_watermark_index_in_pk: Option<i32>

Indicate the index of the watermark column in the primary key that should be cleaned. NOTICE: when it is “None”, the watermark column should be the first column in the pk

§refreshable: bool

Whether the table supports manual refresh operation: reload data from external source and emit messages based on the diff with current data.

§vector_index_info: Option<VectorIndexInfo>

only exist when table_type is VECTOR_INDEX.

§cdc_table_type: Option<i32>§version: Option<TableVersion>

Per-table catalog version, used by schema change. None for internal tables and tests. Not to be confused with the global catalog version for notification service.

§optional_associated_source_id: Option<OptionalAssociatedSourceId>

Implementations§

Source§

impl Table

Source

pub fn table_type(&self) -> TableType

Returns the enum value of table_type, or the default if the field is set to an invalid enum value.

Source

pub fn set_table_type(&mut self, value: TableType)

Sets table_type to the provided enum value.

Source

pub fn vnode_col_index(&self) -> u32

Returns the value of vnode_col_index, or the default value if vnode_col_index is unset.

Source

pub fn row_id_index(&self) -> u32

Returns the value of row_id_index, or the default value if row_id_index is unset.

Source

pub fn handle_pk_conflict_behavior(&self) -> HandleConflictBehavior

Returns the enum value of handle_pk_conflict_behavior, or the default if the field is set to an invalid enum value.

Source

pub fn set_handle_pk_conflict_behavior(&mut self, value: HandleConflictBehavior)

Sets handle_pk_conflict_behavior to the provided enum value.

Source

pub fn dml_fragment_id(&self) -> u32

Returns the value of dml_fragment_id, or the default value if dml_fragment_id is unset.

Source

pub fn initialized_at_epoch(&self) -> u64

Returns the value of initialized_at_epoch, or the default value if initialized_at_epoch is unset.

Source

pub fn created_at_epoch(&self) -> u64

Returns the value of created_at_epoch, or the default value if created_at_epoch is unset.

Source

pub fn stream_job_status(&self) -> StreamJobStatus

Returns the enum value of stream_job_status, or the default if the field is set to an invalid enum value.

Source

pub fn set_stream_job_status(&mut self, value: StreamJobStatus)

Sets stream_job_status to the provided enum value.

Source

pub fn create_type(&self) -> CreateType

Returns the enum value of create_type, or the default if the field is set to an invalid enum value.

Source

pub fn set_create_type(&mut self, value: CreateType)

Sets create_type to the provided enum value.

Source

pub fn description(&self) -> &str

Returns the value of description, or the default value if description is unset.

Source

pub fn initialized_at_cluster_version(&self) -> &str

Returns the value of initialized_at_cluster_version, or the default value if initialized_at_cluster_version is unset.

Source

pub fn created_at_cluster_version(&self) -> &str

Returns the value of created_at_cluster_version, or the default value if created_at_cluster_version is unset.

Source

pub fn retention_seconds(&self) -> u32

Returns the value of retention_seconds, or the default value if retention_seconds is unset.

Source

pub fn cdc_table_id(&self) -> &str

Returns the value of cdc_table_id, or the default value if cdc_table_id is unset.

Source

pub fn maybe_vnode_count(&self) -> u32

Returns the value of maybe_vnode_count, or the default value if maybe_vnode_count is unset.

Source

pub fn job_id(&self) -> u32

Returns the value of job_id, or the default value if job_id is unset.

Source

pub fn engine(&self) -> Engine

Returns the enum value of engine, or the default if the field is unset or set to an invalid enum value.

Source

pub fn set_engine(&mut self, value: Engine)

Sets engine to the provided enum value.

Source

pub fn clean_watermark_index_in_pk(&self) -> i32

Returns the value of clean_watermark_index_in_pk, or the default value if clean_watermark_index_in_pk is unset.

Source

pub fn cdc_table_type(&self) -> CdcTableType

Returns the enum value of cdc_table_type, or the default if the field is unset or set to an invalid enum value.

Source

pub fn set_cdc_table_type(&mut self, value: CdcTableType)

Sets cdc_table_type to the provided enum value.

Source§

impl Table

Source

pub fn get_id(&self) -> u32

Source

pub fn get_schema_id(&self) -> u32

Source

pub fn get_database_id(&self) -> u32

Source

pub fn get_name(&self) -> &String

Source

pub fn get_columns(&self) -> &Vec<ColumnCatalog>

Source

pub fn get_pk(&self) -> &Vec<ColumnOrder>

Source

pub fn get_table_type(&self) -> Result<TableType, PbFieldNotFound>

Source

pub fn get_distribution_key(&self) -> &Vec<i32>

Source

pub fn get_stream_key(&self) -> &Vec<i32>

Source

pub fn get_append_only(&self) -> bool

Source

pub fn get_owner(&self) -> u32

Source

pub fn get_fragment_id(&self) -> u32

Source

pub fn get_vnode_col_index(&self) -> Result<&u32, PbFieldNotFound>

Source

pub fn get_row_id_index(&self) -> Result<&u32, PbFieldNotFound>

Source

pub fn get_value_indices(&self) -> &Vec<i32>

Source

pub fn get_definition(&self) -> &String

Source

pub fn get_handle_pk_conflict_behavior( &self, ) -> Result<HandleConflictBehavior, PbFieldNotFound>

Source

pub fn get_read_prefix_len_hint(&self) -> u32

Source

pub fn get_watermark_indices(&self) -> &Vec<i32>

Source

pub fn get_dist_key_in_pk(&self) -> &Vec<i32>

Source

pub fn get_dml_fragment_id(&self) -> Result<&u32, PbFieldNotFound>

Source

pub fn get_cardinality(&self) -> Result<&Cardinality, PbFieldNotFound>

Source

pub fn get_initialized_at_epoch(&self) -> Result<&u64, PbFieldNotFound>

Source

pub fn get_created_at_epoch(&self) -> Result<&u64, PbFieldNotFound>

Source

pub fn get_cleaned_by_watermark(&self) -> bool

Source

pub fn get_stream_job_status(&self) -> Result<StreamJobStatus, PbFieldNotFound>

Source

pub fn get_create_type(&self) -> Result<CreateType, PbFieldNotFound>

Source

pub fn get_description(&self) -> Result<&String, PbFieldNotFound>

Source

pub fn get_incoming_sinks(&self) -> &Vec<u32>

👎Deprecated
Source

pub fn get_initialized_at_cluster_version( &self, ) -> Result<&String, PbFieldNotFound>

Source

pub fn get_created_at_cluster_version(&self) -> Result<&String, PbFieldNotFound>

Source

pub fn get_retention_seconds(&self) -> Result<&u32, PbFieldNotFound>

Source

pub fn get_version_column_indices(&self) -> &Vec<u32>

Source

pub fn get_cdc_table_id(&self) -> Result<&String, PbFieldNotFound>

Source

pub fn get_maybe_vnode_count(&self) -> Result<&u32, PbFieldNotFound>

Source

pub fn get_webhook_info(&self) -> Result<&WebhookSourceInfo, PbFieldNotFound>

Source

pub fn get_job_id(&self) -> Result<&u32, PbFieldNotFound>

Source

pub fn get_engine(&self) -> Result<&i32, PbFieldNotFound>

Source

pub fn get_clean_watermark_index_in_pk(&self) -> Result<&i32, PbFieldNotFound>

Source

pub fn get_refreshable(&self) -> bool

Source

pub fn get_vector_index_info(&self) -> Result<&VectorIndexInfo, PbFieldNotFound>

Source

pub fn get_cdc_table_type(&self) -> Result<&i32, PbFieldNotFound>

Source

pub fn get_version(&self) -> Result<&TableVersion, PbFieldNotFound>

Source

pub fn get_optional_associated_source_id( &self, ) -> Result<&OptionalAssociatedSourceId, PbFieldNotFound>

Trait Implementations§

Source§

impl Clone for Table

Source§

fn clone(&self) -> Table

Returns a duplicate of the value. Read more
1.0.0 · Source§

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

Performs copy-assignment from source. Read more
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() -> Self

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

impl<'de> Deserialize<'de> for Table

Source§

fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
where D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Message for Table

Source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
Source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
Source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
Source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
Source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
Source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
Source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
Source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
Source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
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 · Source§

const 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 Serialize for Table

Source§

fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for Table

Auto Trait Implementations§

§

impl Freeze for Table

§

impl RefUnwindSafe for Table

§

impl Send for Table

§

impl Sync for Table

§

impl Unpin for Table

§

impl UnwindSafe 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<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
§

impl<T> Conv for T

§

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

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

impl<T> FmtForward for T

§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

§

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

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

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

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

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

Source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

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

§

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
§

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
§

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
§

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
§

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
§

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.
§

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.
§

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.
§

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.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

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

Initializes a with the given initializer. Read more
§

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

Dereferences the given pointer. Read more
§

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

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T> Tap for T

§

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

Immutable access to a value. Read more
§

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

Mutable access to a value. Read more
§

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
§

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
§

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
§

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
§

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
§

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
§

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

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

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

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

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.
§

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.
§

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.
§

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.
§

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.
§

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
§

impl<T> TryConv for T

§

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.
§

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

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

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
§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> Allocation for T
where T: RefUnwindSafe + Send + Sync,

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

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