pub struct TokenConfigurationV1 {
pub base: TokenConfigurationV0,
pub has_shielded_pool: bool,
pub minimum_pool_notes_for_outgoing: Option<u64>,
pub minimum_pool_notes_for_outgoing_change_rules: ChangeControlRules,
}Expand description
Version 1 of the token configuration: everything TokenConfigurationV0 carries, plus the
per-token shielded pool opt-in and the pool’s outgoing notes threshold.
The V0 fields are nested as base and flattened on the JSON / Value wire, so a V1
configuration reads exactly like a V0 one with $formatVersion: "1" and the extra
hasShieldedPool, minimumPoolNotesForOutgoing and minimumPoolNotesForOutgoingChangeRules
keys. On the bincode wire it is the V0 bytes followed by the flag, the threshold and its
rules, under the enum’s variant index 1, so stored V0 configurations decode unchanged.
has_shielded_pool is decided at token creation and is immutable afterwards: the pool
subtree (an Orchard note commitment tree, nullifier set, anchors and a balance) is created
together with the token’s other trees, and a pool holding notes can never be removed.
Enabling a pool on an existing token is not supported by this version.
Fields§
§base: TokenConfigurationV0The V0 configuration this version extends.
has_shielded_pool: boolWhether this token has its own shielded pool. When true, holders may move balance
into the pool (TokenShield), transfer privately inside it (TokenShieldedTransfer)
and move balance back out to an identity (TokenUnshield).
minimum_pool_notes_for_outgoing: Option<u64>The fewest notes the token’s shielded pool must hold before tokens may leave it for a
visible destination (unshielding to an identity, burning from the pool, paying a
document’s token cost from the pool). Transfers inside the pool are not limited.
None reads as 0, no threshold.
The count is of note commitments, not of holders: one bundle carries several actions,
so a single depositor can reach a threshold alone. It tells holders how busy the pool
should be before they leave it and guarantees no anonymity set. A threshold above 0
also traps a new pool’s first depositors until enough notes accumulate, so the default
is none. At most max_token_pool_notes_for_outgoing, so an issuer cannot set one no
pool reaches and strand every shielded balance. Changed through TokenConfigUpdate
under minimum_pool_notes_for_outgoing_change_rules.
minimum_pool_notes_for_outgoing_change_rules: ChangeControlRulesChange control rules governing who can modify minimum_pool_notes_for_outgoing. No one
when absent.
Implementations§
Source§impl TokenConfigurationV1
impl TokenConfigurationV1
Sourcepub fn apply_token_configuration_item(
&mut self,
change_item: TokenConfigurationChangeItem,
)
pub fn apply_token_configuration_item( &mut self, change_item: TokenConfigurationChangeItem, )
Applies a TokenConfigurationChangeItem: the shielded pool’s threshold items to this
configuration, every other item to the nested V0 configuration.
Source§impl TokenConfigurationV1
impl TokenConfigurationV1
Sourcepub fn controlling_action_takers_for_configuration_item(
&self,
change_item: &TokenConfigurationChangeItem,
) -> AuthorizedActionTakers
pub fn controlling_action_takers_for_configuration_item( &self, change_item: &TokenConfigurationChangeItem, ) -> AuthorizedActionTakers
Returns the current authority that controls a configuration item: the shielded pool’s threshold items are controlled like any other rule-governed item, every other item as the nested V0 configuration says.
Returns the authorized action takers for a specific TokenConfigurationChangeItem: the
shielded pool’s threshold items from minimum_pool_notes_for_outgoing_change_rules,
every other item from the nested V0 configuration.
Source§impl TokenConfigurationV1
impl TokenConfigurationV1
Sourcepub fn can_apply_token_configuration_item(
&self,
change_item: &TokenConfigurationChangeItem,
contract_owner_id: &Identifier,
main_group: Option<GroupContractPosition>,
groups: &BTreeMap<GroupContractPosition, Group>,
action_taker: &ActionTaker,
goal: ActionGoal,
) -> bool
pub fn can_apply_token_configuration_item( &self, change_item: &TokenConfigurationChangeItem, contract_owner_id: &Identifier, main_group: Option<GroupContractPosition>, groups: &BTreeMap<GroupContractPosition, Group>, action_taker: &ActionTaker, goal: ActionGoal, ) -> bool
Determines whether a TokenConfigurationChangeItem can be applied: the shielded pool’s
threshold items under minimum_pool_notes_for_outgoing_change_rules, every other item
under the nested V0 configuration’s rules.
Source§impl TokenConfigurationV1
impl TokenConfigurationV1
Sourcepub fn from_v0(base: TokenConfigurationV0, has_shielded_pool: bool) -> Self
pub fn from_v0(base: TokenConfigurationV0, has_shielded_pool: bool) -> Self
Wraps a V0 configuration, opting the token into a shielded pool when has_shielded_pool.
Trait Implementations§
Source§impl<'__de, __Context> BorrowDecode<'__de, __Context> for TokenConfigurationV1
impl<'__de, __Context> BorrowDecode<'__de, __Context> for TokenConfigurationV1
Source§fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode<__D: BorrowDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Source§impl<'__de, __Context> BorrowDecodeUntrusted<'__de, __Context> for TokenConfigurationV1
impl<'__de, __Context> BorrowDecodeUntrusted<'__de, __Context> for TokenConfigurationV1
Source§fn borrow_decode_untrusted<__D: BorrowUntrustedDecoder<'__de, Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn borrow_decode_untrusted<__D: BorrowUntrustedDecoder<'__de, Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Source§impl Clone for TokenConfigurationV1
impl Clone for TokenConfigurationV1
Source§fn clone(&self) -> TokenConfigurationV1
fn clone(&self) -> TokenConfigurationV1
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TokenConfigurationV1
impl Debug for TokenConfigurationV1
Source§impl<__Context> Decode<__Context> for TokenConfigurationV1
impl<__Context> Decode<__Context> for TokenConfigurationV1
Source§impl<__Context> DecodeUntrusted<__Context> for TokenConfigurationV1
impl<__Context> DecodeUntrusted<__Context> for TokenConfigurationV1
Source§fn decode_untrusted<__D: UntrustedDecoder<Context = __Context>>(
decoder: &mut __D,
) -> Result<Self, DecodeError>
fn decode_untrusted<__D: UntrustedDecoder<Context = __Context>>( decoder: &mut __D, ) -> Result<Self, DecodeError>
Source§impl<'de> Deserialize<'de> for TokenConfigurationV1
impl<'de> Deserialize<'de> for TokenConfigurationV1
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Display for TokenConfigurationV1
impl Display for TokenConfigurationV1
Source§impl Encode for TokenConfigurationV1
impl Encode for TokenConfigurationV1
impl Eq for TokenConfigurationV1
Source§impl From<TokenConfigurationV1> for TokenConfiguration
impl From<TokenConfigurationV1> for TokenConfiguration
Source§fn from(value: TokenConfigurationV1) -> Self
fn from(value: TokenConfigurationV1) -> Self
impl JsonSafeFields for TokenConfigurationV1
Source§impl PartialEq for TokenConfigurationV1
impl PartialEq for TokenConfigurationV1
Source§impl Serialize for TokenConfigurationV1
impl Serialize for TokenConfigurationV1
impl StructuralPartialEq for TokenConfigurationV1
Source§impl TokenConfigurationV0Getters for TokenConfigurationV1
Every V0 getter reads through to the nested base configuration.
impl TokenConfigurationV0Getters for TokenConfigurationV1
Every V0 getter reads through to the nested base configuration.
Source§fn conventions(&self) -> &TokenConfigurationConvention
fn conventions(&self) -> &TokenConfigurationConvention
Source§fn conventions_mut(&mut self) -> &mut TokenConfigurationConvention
fn conventions_mut(&mut self) -> &mut TokenConfigurationConvention
Source§fn conventions_change_rules(&self) -> &ChangeControlRules
fn conventions_change_rules(&self) -> &ChangeControlRules
Source§fn base_supply(&self) -> TokenAmount
fn base_supply(&self) -> TokenAmount
Source§fn keeps_history(&self) -> &TokenKeepsHistoryRules
fn keeps_history(&self) -> &TokenKeepsHistoryRules
Source§fn keeps_history_mut(&mut self) -> &mut TokenKeepsHistoryRules
fn keeps_history_mut(&mut self) -> &mut TokenKeepsHistoryRules
Source§fn start_as_paused(&self) -> bool
fn start_as_paused(&self) -> bool
Source§fn is_allowed_transfer_to_frozen_balance(&self) -> bool
fn is_allowed_transfer_to_frozen_balance(&self) -> bool
Source§fn max_supply(&self) -> Option<TokenAmount>
fn max_supply(&self) -> Option<TokenAmount>
Source§fn max_supply_change_rules(&self) -> &ChangeControlRules
fn max_supply_change_rules(&self) -> &ChangeControlRules
Source§fn distribution_rules(&self) -> &TokenDistributionRules
fn distribution_rules(&self) -> &TokenDistributionRules
Source§fn distribution_rules_mut(&mut self) -> &mut TokenDistributionRules
fn distribution_rules_mut(&mut self) -> &mut TokenDistributionRules
Source§fn manual_minting_rules(&self) -> &ChangeControlRules
fn manual_minting_rules(&self) -> &ChangeControlRules
Source§fn manual_burning_rules(&self) -> &ChangeControlRules
fn manual_burning_rules(&self) -> &ChangeControlRules
Source§fn freeze_rules(&self) -> &ChangeControlRules
fn freeze_rules(&self) -> &ChangeControlRules
Source§fn unfreeze_rules(&self) -> &ChangeControlRules
fn unfreeze_rules(&self) -> &ChangeControlRules
Source§fn destroy_frozen_funds_rules(&self) -> &ChangeControlRules
fn destroy_frozen_funds_rules(&self) -> &ChangeControlRules
Source§fn emergency_action_rules(&self) -> &ChangeControlRules
fn emergency_action_rules(&self) -> &ChangeControlRules
Source§fn main_control_group(&self) -> Option<GroupContractPosition>
fn main_control_group(&self) -> Option<GroupContractPosition>
Source§fn main_control_group_can_be_modified(&self) -> &AuthorizedActionTakers
fn main_control_group_can_be_modified(&self) -> &AuthorizedActionTakers
Source§fn all_used_group_positions(&self) -> (BTreeSet<GroupContractPosition>, bool)
fn all_used_group_positions(&self) -> (BTreeSet<GroupContractPosition>, bool)
Source§fn all_change_control_rules(&self) -> Vec<(&str, &ChangeControlRules)>
fn all_change_control_rules(&self) -> Vec<(&str, &ChangeControlRules)>
Source§fn description(&self) -> &Option<String>
fn description(&self) -> &Option<String>
Source§impl TokenConfigurationV0Setters for TokenConfigurationV1
Every V0 setter writes through to the nested base configuration.
impl TokenConfigurationV0Setters for TokenConfigurationV1
Every V0 setter writes through to the nested base configuration.
Source§fn set_conventions(&mut self, conventions: TokenConfigurationConvention)
fn set_conventions(&mut self, conventions: TokenConfigurationConvention)
Source§fn set_conventions_change_rules(&mut self, rules: ChangeControlRules)
fn set_conventions_change_rules(&mut self, rules: ChangeControlRules)
Source§fn allow_transfer_to_frozen_balance(&mut self, allow: bool)
fn allow_transfer_to_frozen_balance(&mut self, allow: bool)
Source§fn set_base_supply(&mut self, base_supply: TokenAmount)
fn set_base_supply(&mut self, base_supply: TokenAmount)
Source§fn set_start_as_paused(&mut self, start_as_paused: bool)
fn set_start_as_paused(&mut self, start_as_paused: bool)
Source§fn set_max_supply(&mut self, max_supply: Option<TokenAmount>)
fn set_max_supply(&mut self, max_supply: Option<TokenAmount>)
Source§fn set_max_supply_change_rules(&mut self, rules: ChangeControlRules)
fn set_max_supply_change_rules(&mut self, rules: ChangeControlRules)
Source§fn set_distribution_rules(&mut self, rules: TokenDistributionRules)
fn set_distribution_rules(&mut self, rules: TokenDistributionRules)
Source§fn set_manual_minting_rules(&mut self, rules: ChangeControlRules)
fn set_manual_minting_rules(&mut self, rules: ChangeControlRules)
Source§fn set_manual_burning_rules(&mut self, rules: ChangeControlRules)
fn set_manual_burning_rules(&mut self, rules: ChangeControlRules)
Source§fn set_freeze_rules(&mut self, rules: ChangeControlRules)
fn set_freeze_rules(&mut self, rules: ChangeControlRules)
Source§fn set_unfreeze_rules(&mut self, rules: ChangeControlRules)
fn set_unfreeze_rules(&mut self, rules: ChangeControlRules)
Source§fn set_destroy_frozen_funds_rules(&mut self, rules: ChangeControlRules)
fn set_destroy_frozen_funds_rules(&mut self, rules: ChangeControlRules)
destroy frozen funds rules.Source§fn set_emergency_action_rules(&mut self, rules: ChangeControlRules)
fn set_emergency_action_rules(&mut self, rules: ChangeControlRules)
Source§fn set_main_control_group(&mut self, group: Option<GroupContractPosition>)
fn set_main_control_group(&mut self, group: Option<GroupContractPosition>)
Source§fn set_main_control_group_can_be_modified(
&mut self,
action_takers: AuthorizedActionTakers,
)
fn set_main_control_group_can_be_modified( &mut self, action_takers: AuthorizedActionTakers, )
Source§fn set_description(&mut self, description: Option<String>)
fn set_description(&mut self, description: Option<String>)
Source§impl TokenConfigurationV1Getters for TokenConfigurationV1
impl TokenConfigurationV1Getters for TokenConfigurationV1
Source§fn has_shielded_pool(&self) -> bool
fn has_shielded_pool(&self) -> bool
Source§fn minimum_pool_notes_for_outgoing(&self) -> u64
fn minimum_pool_notes_for_outgoing(&self) -> u64
Source§impl TokenConfigurationV1Setters for TokenConfigurationV1
impl TokenConfigurationV1Setters for TokenConfigurationV1
Source§fn set_has_shielded_pool(&mut self, has_shielded_pool: bool)
fn set_has_shielded_pool(&mut self, has_shielded_pool: bool)
Auto Trait Implementations§
impl Freeze for TokenConfigurationV1
impl RefUnwindSafe for TokenConfigurationV1
impl Send for TokenConfigurationV1
impl Sync for TokenConfigurationV1
impl Unpin for TokenConfigurationV1
impl UnsafeUnpin for TokenConfigurationV1
impl UnwindSafe for TokenConfigurationV1
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
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,
§impl<T> Conv for T
impl<T> Conv for T
§impl<T> CostsExt for T
impl<T> CostsExt for T
§fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>where
Self: Sized,
fn wrap_with_cost(self, cost: OperationCost) -> CostContext<Self>where
Self: Sized,
CostContext object with provided costs.§fn wrap_fn_cost(
self,
f: impl FnOnce(&Self) -> OperationCost,
) -> CostContext<Self>where
Self: Sized,
fn wrap_fn_cost(
self,
f: impl FnOnce(&Self) -> OperationCost,
) -> CostContext<Self>where
Self: Sized,
CostContext object with costs computed using the
value getting wrapped.§impl<'de, T> DefaultBorrowDecode<'de> for Twhere
T: BorrowDecode<'de, ()>,
impl<'de, T> DefaultBorrowDecode<'de> for Twhere
T: BorrowDecode<'de, ()>,
fn borrow_decode<D>(decoder: &mut D) -> Result<Self, DecodeError>
§impl<T> DefaultDecode for T
impl<T> DefaultDecode for T
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<T> FmtForward for T
impl<T> FmtForward for T
§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.§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.§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.§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.§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.§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.§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.§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.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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 more§impl<T, U> IntoOnNetwork<U> for Twhere
U: FromOnNetwork<T>,
impl<T, U> IntoOnNetwork<U> for Twhere
U: FromOnNetwork<T>,
§fn into_on_network(self, network: Network) -> U
fn into_on_network(self, network: Network) -> U
Calls U::from_on_network(self).
§impl<T, U> IntoPlatformVersioned<U> for Twhere
U: FromPlatformVersioned<T>,
impl<T, U> IntoPlatformVersioned<U> for Twhere
U: FromPlatformVersioned<T>,
§fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U
fn into_platform_versioned(self, platform_version: &PlatformVersion) -> U
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§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 more§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 more§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
§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
§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.§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.§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.§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T> Tap for T
impl<T> Tap for T
§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 more§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 more§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 more§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 more§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 more§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 more§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.§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.§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.§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.§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.§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.§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.