Struct mz_adapter::catalog::ConnCatalog
source · pub struct ConnCatalog<'a> {
state: Cow<'a, CatalogState>,
unresolvable_ids: BTreeSet<CatalogItemId>,
conn_id: ConnectionId,
cluster: String,
database: Option<DatabaseId>,
search_path: Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>,
role_id: RoleId,
prepared_statements: Option<&'a BTreeMap<String, PreparedStatement>>,
notices_tx: UnboundedSender<AdapterNotice>,
}
Fields§
§state: Cow<'a, CatalogState>
§unresolvable_ids: BTreeSet<CatalogItemId>
Because we don’t have any way of removing items from the catalog temporarily, we allow the ConnCatalog to pretend that a set of items don’t exist during resolution.
This feature is necessary to allow re-planning of statements, which is either incredibly useful or required when altering item definitions.
Note that uses of this field should be used by short-lived catalogs.
conn_id: ConnectionId
§cluster: String
§database: Option<DatabaseId>
§search_path: Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>
§role_id: RoleId
§prepared_statements: Option<&'a BTreeMap<String, PreparedStatement>>
§notices_tx: UnboundedSender<AdapterNotice>
Implementations§
source§impl ConnCatalog<'_>
impl ConnCatalog<'_>
pub fn conn_id(&self) -> &ConnectionId
pub fn state(&self) -> &CatalogState
sourcepub fn mark_id_unresolvable_for_replanning(&mut self, id: CatalogItemId)
pub fn mark_id_unresolvable_for_replanning(&mut self, id: CatalogItemId)
Prevent planning from resolving item with the provided ID. Instead, return an error as if the item did not exist.
This feature is meant exclusively to permit re-planning statements during update operations and should not be used otherwise given its extremely “powerful” semantics.
§Panics
If the catalog’s role ID is not MZ_SYSTEM_ROLE_ID
.
sourcepub fn effective_search_path(
&self,
include_temp_schema: bool,
) -> Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>
pub fn effective_search_path( &self, include_temp_schema: bool, ) -> Vec<(ResolvedDatabaseSpecifier, SchemaSpecifier)>
Returns the schemas:
- mz_catalog
- pg_catalog
- temp (if requested)
- all schemas from the session’s search_path var that exist
source§impl ConnCatalog<'_>
impl ConnCatalog<'_>
fn resolve_item_name( &self, name: &PartialItemName, ) -> Result<&QualifiedItemName, SqlCatalogError>
fn resolve_function_name( &self, name: &PartialItemName, ) -> Result<&QualifiedItemName, SqlCatalogError>
fn resolve_type_name( &self, name: &PartialItemName, ) -> Result<&QualifiedItemName, SqlCatalogError>
Trait Implementations§
source§impl ConnectionResolver for ConnCatalog<'_>
impl ConnectionResolver for ConnCatalog<'_>
fn resolve_connection(&self, id: CatalogItemId) -> Connection<InlinedConnection>
source§impl<'a> Debug for ConnCatalog<'a>
impl<'a> Debug for ConnCatalog<'a>
source§impl ExprHumanizer for ConnCatalog<'_>
impl ExprHumanizer for ConnCatalog<'_>
source§fn humanize_id(&self, id: GlobalId) -> Option<String>
fn humanize_id(&self, id: GlobalId) -> Option<String>
id
.source§fn humanize_id_unqualified(&self, id: GlobalId) -> Option<String>
fn humanize_id_unqualified(&self, id: GlobalId) -> Option<String>
foo
for materialize.public.foo
.source§fn humanize_id_parts(&self, id: GlobalId) -> Option<Vec<String>>
fn humanize_id_parts(&self, id: GlobalId) -> Option<Vec<String>>
Self::humanize_id
, but returns the constituent parts of the
name as individual elements.source§fn humanize_scalar_type(&self, typ: &ScalarType) -> String
fn humanize_scalar_type(&self, typ: &ScalarType) -> String
source§fn column_names_for_id(&self, id: GlobalId) -> Option<Vec<String>>
fn column_names_for_id(&self, id: GlobalId) -> Option<Vec<String>>
id
.source§fn humanize_column(&self, id: GlobalId, column: usize) -> Option<String>
fn humanize_column(&self, id: GlobalId, column: usize) -> Option<String>
#column
name for the relation identified by id
.source§fn humanize_column_type(&self, typ: &ColumnType) -> String
fn humanize_column_type(&self, typ: &ColumnType) -> String
source§impl SessionCatalog for ConnCatalog<'_>
impl SessionCatalog for ConnCatalog<'_>
source§fn minimal_qualification(
&self,
qualified_name: &QualifiedItemName,
) -> PartialItemName
fn minimal_qualification( &self, qualified_name: &QualifiedItemName, ) -> PartialItemName
Returns a PartialItemName
with the minimum amount of qualifiers to unambiguously resolve
the object.
source§fn active_role_id(&self) -> &RoleId
fn active_role_id(&self) -> &RoleId
source§fn get_prepared_statement_desc(&self, name: &str) -> Option<&StatementDesc>
fn get_prepared_statement_desc(&self, name: &str) -> Option<&StatementDesc>
source§fn active_database(&self) -> Option<&DatabaseId>
fn active_database(&self) -> Option<&DatabaseId>
source§fn active_cluster(&self) -> &str
fn active_cluster(&self) -> &str
source§fn search_path(&self) -> &[(ResolvedDatabaseSpecifier, SchemaSpecifier)]
fn search_path(&self) -> &[(ResolvedDatabaseSpecifier, SchemaSpecifier)]
source§fn resolve_database(
&self,
database_name: &str,
) -> Result<&dyn CatalogDatabase, SqlCatalogError>
fn resolve_database( &self, database_name: &str, ) -> Result<&dyn CatalogDatabase, SqlCatalogError>
source§fn get_database(&self, id: &DatabaseId) -> &dyn CatalogDatabase
fn get_database(&self, id: &DatabaseId) -> &dyn CatalogDatabase
source§fn get_databases(&self) -> Vec<&dyn CatalogDatabase>
fn get_databases(&self) -> Vec<&dyn CatalogDatabase>
source§fn resolve_schema(
&self,
database_name: Option<&str>,
schema_name: &str,
) -> Result<&dyn CatalogSchema, SqlCatalogError>
fn resolve_schema( &self, database_name: Option<&str>, schema_name: &str, ) -> Result<&dyn CatalogSchema, SqlCatalogError>
source§fn resolve_schema_in_database(
&self,
database_spec: &ResolvedDatabaseSpecifier,
schema_name: &str,
) -> Result<&dyn CatalogSchema, SqlCatalogError>
fn resolve_schema_in_database( &self, database_spec: &ResolvedDatabaseSpecifier, schema_name: &str, ) -> Result<&dyn CatalogSchema, SqlCatalogError>
source§fn get_schema(
&self,
database_spec: &ResolvedDatabaseSpecifier,
schema_spec: &SchemaSpecifier,
) -> &dyn CatalogSchema
fn get_schema( &self, database_spec: &ResolvedDatabaseSpecifier, schema_spec: &SchemaSpecifier, ) -> &dyn CatalogSchema
source§fn get_schemas(&self) -> Vec<&dyn CatalogSchema>
fn get_schemas(&self) -> Vec<&dyn CatalogSchema>
source§fn get_mz_internal_schema_id(&self) -> SchemaId
fn get_mz_internal_schema_id(&self) -> SchemaId
source§fn get_mz_unsafe_schema_id(&self) -> SchemaId
fn get_mz_unsafe_schema_id(&self) -> SchemaId
source§fn is_system_schema_specifier(&self, schema: SchemaSpecifier) -> bool
fn is_system_schema_specifier(&self, schema: SchemaSpecifier) -> bool
schema
is an internal system schema, false otherwisesource§fn resolve_role(
&self,
role_name: &str,
) -> Result<&dyn CatalogRole, SqlCatalogError>
fn resolve_role( &self, role_name: &str, ) -> Result<&dyn CatalogRole, SqlCatalogError>
source§fn resolve_network_policy(
&self,
policy_name: &str,
) -> Result<&dyn CatalogNetworkPolicy, SqlCatalogError>
fn resolve_network_policy( &self, policy_name: &str, ) -> Result<&dyn CatalogNetworkPolicy, SqlCatalogError>
source§fn try_get_role(&self, id: &RoleId) -> Option<&dyn CatalogRole>
fn try_get_role(&self, id: &RoleId) -> Option<&dyn CatalogRole>
source§fn get_roles(&self) -> Vec<&dyn CatalogRole>
fn get_roles(&self) -> Vec<&dyn CatalogRole>
source§fn mz_system_role_id(&self) -> RoleId
fn mz_system_role_id(&self) -> RoleId
mz_system
role.source§fn collect_role_membership(&self, id: &RoleId) -> BTreeSet<RoleId>
fn collect_role_membership(&self, id: &RoleId) -> BTreeSet<RoleId>
id
is transitively a member of.source§fn get_network_policy(&self, id: &NetworkPolicyId) -> &dyn CatalogNetworkPolicy
fn get_network_policy(&self, id: &NetworkPolicyId) -> &dyn CatalogNetworkPolicy
source§fn get_network_policies(&self) -> Vec<&dyn CatalogNetworkPolicy>
fn get_network_policies(&self) -> Vec<&dyn CatalogNetworkPolicy>
source§fn resolve_cluster(
&self,
cluster_name: Option<&str>,
) -> Result<&dyn CatalogCluster<'_>, SqlCatalogError>
fn resolve_cluster( &self, cluster_name: Option<&str>, ) -> Result<&dyn CatalogCluster<'_>, SqlCatalogError>
None
, resolves the currently active cluster.source§fn resolve_cluster_replica(
&self,
cluster_replica_name: &QualifiedReplica,
) -> Result<&dyn CatalogClusterReplica<'_>, SqlCatalogError>
fn resolve_cluster_replica( &self, cluster_replica_name: &QualifiedReplica, ) -> Result<&dyn CatalogClusterReplica<'_>, SqlCatalogError>
source§fn resolve_item(
&self,
name: &PartialItemName,
) -> Result<&dyn CatalogItem, SqlCatalogError>
fn resolve_item( &self, name: &PartialItemName, ) -> Result<&dyn CatalogItem, SqlCatalogError>
source§fn resolve_function(
&self,
name: &PartialItemName,
) -> Result<&dyn CatalogItem, SqlCatalogError>
fn resolve_function( &self, name: &PartialItemName, ) -> Result<&dyn CatalogItem, SqlCatalogError>
SessionCatalog::resolve_item
but for
functions within the catalog.source§fn resolve_type(
&self,
name: &PartialItemName,
) -> Result<&dyn CatalogItem, SqlCatalogError>
fn resolve_type( &self, name: &PartialItemName, ) -> Result<&dyn CatalogItem, SqlCatalogError>
SessionCatalog::resolve_item
but for
types within the catalog.source§fn get_system_type(&self, name: &str) -> &dyn CatalogItem
fn get_system_type(&self, name: &str) -> &dyn CatalogItem
name
from exactly one of the system schemas. Read moresource§fn try_get_item(&self, id: &CatalogItemId) -> Option<&dyn CatalogItem>
fn try_get_item(&self, id: &CatalogItemId) -> Option<&dyn CatalogItem>
source§fn try_get_item_by_global_id(
&self,
id: &GlobalId,
) -> Option<Box<dyn CatalogCollectionItem>>
fn try_get_item_by_global_id( &self, id: &GlobalId, ) -> Option<Box<dyn CatalogCollectionItem>>
source§fn get_item(&self, id: &CatalogItemId) -> &dyn CatalogItem
fn get_item(&self, id: &CatalogItemId) -> &dyn CatalogItem
source§fn get_item_by_global_id(&self, id: &GlobalId) -> Box<dyn CatalogCollectionItem>
fn get_item_by_global_id(&self, id: &GlobalId) -> Box<dyn CatalogCollectionItem>
source§fn get_items(&self) -> Vec<&dyn CatalogItem>
fn get_items(&self) -> Vec<&dyn CatalogItem>
source§fn get_item_by_name(
&self,
name: &QualifiedItemName,
) -> Option<&dyn SqlCatalogItem>
fn get_item_by_name( &self, name: &QualifiedItemName, ) -> Option<&dyn SqlCatalogItem>
source§fn get_type_by_name(
&self,
name: &QualifiedItemName,
) -> Option<&dyn SqlCatalogItem>
fn get_type_by_name( &self, name: &QualifiedItemName, ) -> Option<&dyn SqlCatalogItem>
source§fn get_cluster(&self, id: ClusterId) -> &dyn CatalogCluster<'_>
fn get_cluster(&self, id: ClusterId) -> &dyn CatalogCluster<'_>
source§fn get_clusters(&self) -> Vec<&dyn CatalogCluster<'_>>
fn get_clusters(&self) -> Vec<&dyn CatalogCluster<'_>>
source§fn get_cluster_replica(
&self,
cluster_id: ClusterId,
replica_id: ReplicaId,
) -> &dyn CatalogClusterReplica<'_>
fn get_cluster_replica( &self, cluster_id: ClusterId, replica_id: ReplicaId, ) -> &dyn CatalogClusterReplica<'_>
source§fn get_cluster_replicas(&self) -> Vec<&dyn CatalogClusterReplica<'_>>
fn get_cluster_replicas(&self) -> Vec<&dyn CatalogClusterReplica<'_>>
source§fn get_system_privileges(&self) -> &PrivilegeMap
fn get_system_privileges(&self) -> &PrivilegeMap
source§fn get_default_privileges(
&self,
) -> Vec<(&DefaultPrivilegeObject, Vec<&DefaultPrivilegeAclItem>)>
fn get_default_privileges( &self, ) -> Vec<(&DefaultPrivilegeObject, Vec<&DefaultPrivilegeAclItem>)>
source§fn find_available_name(&self, name: QualifiedItemName) -> QualifiedItemName
fn find_available_name(&self, name: QualifiedItemName) -> QualifiedItemName
name
that is not already in use. Read moresource§fn resolve_full_name(&self, name: &QualifiedItemName) -> FullItemName
fn resolve_full_name(&self, name: &QualifiedItemName) -> FullItemName
source§fn resolve_full_schema_name(&self, name: &QualifiedSchemaName) -> FullSchemaName
fn resolve_full_schema_name(&self, name: &QualifiedSchemaName) -> FullSchemaName
source§fn resolve_item_id(&self, global_id: &GlobalId) -> CatalogItemId
fn resolve_item_id(&self, global_id: &GlobalId) -> CatalogItemId
CatalogItemId
for from a GlobalId
.source§fn resolve_global_id(
&self,
item_id: &CatalogItemId,
version: RelationVersionSelector,
) -> GlobalId
fn resolve_global_id( &self, item_id: &CatalogItemId, version: RelationVersionSelector, ) -> GlobalId
GlobalId
for the specificed Catalog Item, at the specified version.source§fn config(&self) -> &CatalogConfig
fn config(&self) -> &CatalogConfig
source§fn now(&self) -> EpochMillis
fn now(&self) -> EpochMillis
source§fn aws_privatelink_availability_zones(&self) -> Option<BTreeSet<String>>
fn aws_privatelink_availability_zones(&self) -> Option<BTreeSet<String>>
source§fn system_vars(&self) -> &SystemVars
fn system_vars(&self) -> &SystemVars
source§fn system_vars_mut(&mut self) -> &mut SystemVars
fn system_vars_mut(&mut self) -> &mut SystemVars
source§fn get_owner_id(&self, id: &ObjectId) -> Option<RoleId>
fn get_owner_id(&self, id: &ObjectId) -> Option<RoleId>
RoleId
of the owner of an object by its ID.source§fn get_privileges(&self, id: &SystemObjectId) -> Option<&PrivilegeMap>
fn get_privileges(&self, id: &SystemObjectId) -> Option<&PrivilegeMap>
PrivilegeMap
of the object.source§fn item_dependents(&self, id: CatalogItemId) -> Vec<ObjectId>
fn item_dependents(&self, id: CatalogItemId) -> Vec<ObjectId>
source§fn all_object_privileges(&self, object_type: SystemObjectType) -> AclMode
fn all_object_privileges(&self, object_type: SystemObjectType) -> AclMode
source§fn get_object_type(&self, object_id: &ObjectId) -> ObjectType
fn get_object_type(&self, object_id: &ObjectId) -> ObjectType
object_id
.source§fn get_system_object_type(&self, id: &SystemObjectId) -> SystemObjectType
fn get_system_object_type(&self, id: &SystemObjectId) -> SystemObjectType
id
.source§fn add_notice(&self, notice: PlanNotice)
fn add_notice(&self, notice: PlanNotice)
PlanNotice
that will be displayed to the user if the plan
successfully executes.source§fn get_item_comments(
&self,
id: &CatalogItemId,
) -> Option<&BTreeMap<Option<usize>, String>>
fn get_item_comments( &self, id: &CatalogItemId, ) -> Option<&BTreeMap<Option<usize>, String>>
id
source§fn is_cluster_size_cc(&self, size: &str) -> bool
fn is_cluster_size_cc(&self, size: &str) -> bool
source§fn active_database_name(&self) -> Option<&str>
fn active_database_name(&self) -> Option<&str>
source§fn resolve_item_or_type(
&self,
name: &PartialItemName,
) -> Result<&dyn CatalogItem, CatalogError>
fn resolve_item_or_type( &self, name: &PartialItemName, ) -> Result<&dyn CatalogItem, CatalogError>
name
to a type or item, preferring the type if both exist.Auto Trait Implementations§
impl<'a> Freeze for ConnCatalog<'a>
impl<'a> !RefUnwindSafe for ConnCatalog<'a>
impl<'a> Send for ConnCatalog<'a>
impl<'a> Sync for ConnCatalog<'a>
impl<'a> Unpin for ConnCatalog<'a>
impl<'a> !UnwindSafe for ConnCatalog<'a>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> 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> FutureExt for T
impl<T> FutureExt for T
source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request
source§impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
impl<T, U> OverrideFrom<Option<&T>> for Uwhere
U: OverrideFrom<T>,
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<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
impl<P, R> ProtoType<R> for Pwhere
R: RustType<P>,
source§fn into_rust(self) -> Result<R, TryFromProtoError>
fn into_rust(self) -> Result<R, TryFromProtoError>
RustType::from_proto
.source§fn from_rust(rust: &R) -> P
fn from_rust(rust: &R) -> P
RustType::into_proto
.source§impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
impl<'a, S, T> Semigroup<&'a S> for Twhere
T: Semigroup<S>,
source§fn plus_equals(&mut self, rhs: &&'a S)
fn plus_equals(&mut self, rhs: &&'a S)
std::ops::AddAssign
, for types that do not implement AddAssign
.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.