Struct polkadot_runtime_parachains::paras::pallet::Pallet
source · pub struct Pallet<T>(_);
Expand description
The Pallet
struct, the main type that implements traits and standalone
functions within the pallet.
Implementations§
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn force_set_current_code(
origin: OriginFor<T>,
para: ParaId,
new_code: ValidationCode
) -> DispatchResult
pub fn force_set_current_code( origin: OriginFor<T>, para: ParaId, new_code: ValidationCode ) -> DispatchResult
Set the storage for the parachain validation code immediately.
sourcepub fn force_set_current_head(
origin: OriginFor<T>,
para: ParaId,
new_head: HeadData
) -> DispatchResult
pub fn force_set_current_head( origin: OriginFor<T>, para: ParaId, new_head: HeadData ) -> DispatchResult
Set the storage for the current parachain head data immediately.
sourcepub fn force_schedule_code_upgrade(
origin: OriginFor<T>,
para: ParaId,
new_code: ValidationCode,
relay_parent_number: BlockNumberFor<T>
) -> DispatchResult
pub fn force_schedule_code_upgrade( origin: OriginFor<T>, para: ParaId, new_code: ValidationCode, relay_parent_number: BlockNumberFor<T> ) -> DispatchResult
Schedule an upgrade as if it was scheduled in the given relay parent block.
sourcepub fn force_note_new_head(
origin: OriginFor<T>,
para: ParaId,
new_head: HeadData
) -> DispatchResult
pub fn force_note_new_head( origin: OriginFor<T>, para: ParaId, new_head: HeadData ) -> DispatchResult
Note a new block head for para within the context of the current block.
sourcepub fn force_queue_action(origin: OriginFor<T>, para: ParaId) -> DispatchResult
pub fn force_queue_action(origin: OriginFor<T>, para: ParaId) -> DispatchResult
Put a parachain directly into the next session’s action queue. We can’t queue it any sooner than this without going into the initializer…
sourcepub fn add_trusted_validation_code(
origin: OriginFor<T>,
validation_code: ValidationCode
) -> DispatchResult
pub fn add_trusted_validation_code( origin: OriginFor<T>, validation_code: ValidationCode ) -> DispatchResult
Adds the validation code to the storage.
The code will not be added if it is already present. Additionally, if PVF pre-checking is running for that code, it will be instantly accepted.
Otherwise, the code will be added into the storage. Note that the code will be added
into storage with reference count 0. This is to account the fact that there are no users
for this code yet. The caller will have to make sure that this code eventually gets
used by some parachain or removed from the storage to avoid storage leaks. For the
latter prefer to use the poke_unused_validation_code
dispatchable to raw storage
manipulation.
This function is mainly meant to be used for upgrading parachains that do not follow the go-ahead signal while the PVF pre-checking feature is enabled.
sourcepub fn poke_unused_validation_code(
origin: OriginFor<T>,
validation_code_hash: ValidationCodeHash
) -> DispatchResult
pub fn poke_unused_validation_code( origin: OriginFor<T>, validation_code_hash: ValidationCodeHash ) -> DispatchResult
Remove the validation code from the storage iff the reference count is 0.
This is better than removing the storage directly, because it will not remove the code that was suddenly got used by some parachain while this dispatchable was pending dispatching.
sourcepub fn include_pvf_check_statement(
origin: OriginFor<T>,
stmt: PvfCheckStatement,
signature: ValidatorSignature
) -> DispatchResultWithPostInfo
pub fn include_pvf_check_statement( origin: OriginFor<T>, stmt: PvfCheckStatement, signature: ValidatorSignature ) -> DispatchResultWithPostInfo
Includes a statement for a PVF pre-checking vote. Potentially, finalizes the vote and enacts the results if that was the last vote before achieving the supermajority.
sourcepub fn force_set_most_recent_context(
origin: OriginFor<T>,
para: ParaId,
context: BlockNumberFor<T>
) -> DispatchResult
pub fn force_set_most_recent_context( origin: OriginFor<T>, para: ParaId, context: BlockNumberFor<T> ) -> DispatchResult
Set the storage for the current parachain head data immediately.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn parachains() -> Vec<ParaId>
pub fn parachains() -> Vec<ParaId>
“ All lease holding parachains. Ordered ascending by ParaId
. On demand parachains are not“
“ included.“
“”
“ Consider using the [ParachainsCache
] type of modifying.“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn para_most_recent_context<KArg>(k: KArg) -> Option<BlockNumberFor<T>>where
KArg: EncodeLike<ParaId>,
pub fn para_most_recent_context<KArg>(k: KArg) -> Option<BlockNumberFor<T>>where KArg: EncodeLike<ParaId>,
“ The context (relay-chain block number) of the most recent parachain head.“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn current_code_hash<KArg>(k: KArg) -> Option<ValidationCodeHash>where
KArg: EncodeLike<ParaId>,
pub fn current_code_hash<KArg>(k: KArg) -> Option<ValidationCodeHash>where KArg: EncodeLike<ParaId>,
“ The validation code hash of every live para.“
“”
“ Corresponding code can be retrieved with [CodeByHash
].“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn past_code_meta<KArg>(k: KArg) -> ParaPastCodeMeta<BlockNumberFor<T>>where
KArg: EncodeLike<ParaId>,
pub fn past_code_meta<KArg>(k: KArg) -> ParaPastCodeMeta<BlockNumberFor<T>>where KArg: EncodeLike<ParaId>,
“ Past code of parachains. The parachains themselves may not be registered anymore,“ “ but we also keep their code on-chain for the same amount of time as outdated code“ “ to keep it available for approval checkers.“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn future_code_upgrade_at<KArg>(k: KArg) -> Option<BlockNumberFor<T>>where
KArg: EncodeLike<ParaId>,
pub fn future_code_upgrade_at<KArg>(k: KArg) -> Option<BlockNumberFor<T>>where KArg: EncodeLike<ParaId>,
“ The block number at which the planned code change is expected for a para.“
“ The change will be applied after the first parablock for this ID included which executes“
“ in the context of a relay chain block with a number >= expected_at
.“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn future_code_hash<KArg>(k: KArg) -> Option<ValidationCodeHash>where
KArg: EncodeLike<ParaId>,
pub fn future_code_hash<KArg>(k: KArg) -> Option<ValidationCodeHash>where KArg: EncodeLike<ParaId>,
“ The actual future code hash of a para.“
“”
“ Corresponding code can be retrieved with [CodeByHash
].“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn upgrade_restriction_signal<KArg>(k: KArg) -> Option<UpgradeRestriction>where
KArg: EncodeLike<ParaId>,
pub fn upgrade_restriction_signal<KArg>(k: KArg) -> Option<UpgradeRestriction>where KArg: EncodeLike<ParaId>,
“ This is used by the relay-chain to communicate that there are restrictions for performing“ “ an upgrade for this parachain.“ “” “ This may be a because the parachain waits for the upgrade cooldown to expire. Another“ “ potential use case is when we want to perform some maintenance (such as storage migration)“ “ we could restrict upgrades to make the process simpler.“ “” “ NOTE that this field is used by parachains via merkle storage proofs, therefore changing“ “ the format will require migration of parachains.“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn actions_queue<KArg>(k: KArg) -> Vec<ParaId>where
KArg: EncodeLike<SessionIndex>,
pub fn actions_queue<KArg>(k: KArg) -> Vec<ParaId>where KArg: EncodeLike<SessionIndex>,
“ The actions to perform during the start of a specific session index.“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn code_by_hash<KArg>(k: KArg) -> Option<ValidationCode>where
KArg: EncodeLike<ValidationCodeHash>,
pub fn code_by_hash<KArg>(k: KArg) -> Option<ValidationCode>where KArg: EncodeLike<ValidationCodeHash>,
“ Validation code stored by its hash.“
“”
“ This storage is consistent with [FutureCodeHash
], [CurrentCodeHash
] and“
“ [PastCodeHash
].“
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn can_schedule_para_initialize(id: &ParaId) -> bool
pub fn can_schedule_para_initialize(id: &ParaId) -> bool
Verify that schedule_para_initialize
can be called successfully.
Returns false if para is already registered in the system.
sourcepub fn lifecycle(id: ParaId) -> Option<ParaLifecycle>
pub fn lifecycle(id: ParaId) -> Option<ParaLifecycle>
Returns the current lifecycle state of the para.
sourcepub fn is_valid_para(id: ParaId) -> bool
pub fn is_valid_para(id: ParaId) -> bool
Returns whether the given ID refers to a valid para.
Paras that are onboarding or offboarding are not included.
sourcepub fn is_offboarding(id: ParaId) -> bool
pub fn is_offboarding(id: ParaId) -> bool
Returns whether the given ID refers to a para that is offboarding.
An invalid or non-offboarding para ID will return false
.
sourcepub fn is_parachain(id: ParaId) -> bool
pub fn is_parachain(id: ParaId) -> bool
Whether a para ID corresponds to any live lease holding parachain.
Includes lease holding parachains which will downgrade to a on-demand parachains in the future.
sourcepub fn is_parathread(id: ParaId) -> bool
pub fn is_parathread(id: ParaId) -> bool
Whether a para ID corresponds to any live parathread (on-demand parachain).
Includes on-demand parachains which will upgrade to lease holding parachains in the future.
sourcepub fn test_on_new_session()
pub fn test_on_new_session()
Test function for triggering a new session in this pallet.
Trait Implementations§
source§impl<T: Config> GetStorageVersion for Pallet<T>
impl<T: Config> GetStorageVersion for Pallet<T>
§type CurrentStorageVersion = NoStorageVersionSet
type CurrentStorageVersion = NoStorageVersionSet
source§fn current_storage_version() -> Self::CurrentStorageVersion
fn current_storage_version() -> Self::CurrentStorageVersion
source§fn on_chain_storage_version() -> StorageVersion
fn on_chain_storage_version() -> StorageVersion
source§impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> Hooks<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
]). Read more§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
§fn integrity_test()
fn integrity_test()
source§impl<T: Config> IntegrityTest for Pallet<T>
impl<T: Config> IntegrityTest for Pallet<T>
source§fn integrity_test()
fn integrity_test()
Hooks::integrity_test
].source§impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OffchainWorker<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn offchain_worker(n: BlockNumberFor<T>)
fn offchain_worker(n: BlockNumberFor<T>)
source§impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnFinalize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_finalize(n: BlockNumberFor<T>)
fn on_finalize(n: BlockNumberFor<T>)
Hooks::on_finalize
].source§impl<T: Config> OnGenesis for Pallet<T>
impl<T: Config> OnGenesis for Pallet<T>
source§fn on_genesis()
fn on_genesis()
source§impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnIdle<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
impl<T: Config> OnInitialize<<<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number> for Pallet<T>
source§fn on_initialize(n: BlockNumberFor<T>) -> Weight
fn on_initialize(n: BlockNumberFor<T>) -> Weight
Hooks::on_initialize
].source§impl<T: Config> OnRuntimeUpgrade for Pallet<T>
impl<T: Config> OnRuntimeUpgrade for Pallet<T>
source§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
Hooks::on_runtime_upgrade
].source§impl<T: Config> PalletInfoAccess for Pallet<T>
impl<T: Config> PalletInfoAccess for Pallet<T>
source§fn module_name() -> &'static str
fn module_name() -> &'static str
source§fn crate_version() -> CrateVersion
fn crate_version() -> CrateVersion
source§impl<T> PartialEq<Pallet<T>> for Pallet<T>
impl<T> PartialEq<Pallet<T>> for Pallet<T>
source§impl<T: Config> ValidateUnsigned for Pallet<T>
impl<T: Config> ValidateUnsigned for Pallet<T>
source§fn validate_unsigned(
_source: TransactionSource,
call: &Self::Call
) -> TransactionValidity
fn validate_unsigned( _source: TransactionSource, call: &Self::Call ) -> TransactionValidity
source§impl<T: Config> WhitelistedStorageKeys for Pallet<T>
impl<T: Config> WhitelistedStorageKeys for Pallet<T>
source§fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
fn whitelisted_storage_keys() -> Vec<TrackedStorageKey>
Vec<TrackedStorageKey>
indicating the storage keys that
should be whitelisted during benchmarking. This means that those keys
will be excluded from the benchmarking performance calculation.impl<T> Eq for Pallet<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Pallet<T>where T: RefUnwindSafe,
impl<T> Send for Pallet<T>where T: Send,
impl<T> Sync for Pallet<T>where T: Sync,
impl<T> Unpin for Pallet<T>where T: Unpin,
impl<T> UnwindSafe for Pallet<T>where T: UnwindSafe,
Blanket Implementations§
§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
§fn checked_from<T>(t: T) -> Option<Self>where
Self: TryFrom<T>,
fn checked_from<T>(t: T) -> Option<Self>where Self: TryFrom<T>,
§fn checked_into<T>(self) -> Option<T>where
Self: TryInto<T>,
fn checked_into<T>(self) -> Option<T>where Self: TryInto<T>,
§impl<T> Conv for T
impl<T> Conv for T
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§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,
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>
§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§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) -> Rwhere
Self: Borrow<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> Rwhere Self: Borrow<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> Rwhere
Self: BorrowMut<B>,
B: 'a + ?Sized,
R: 'a,
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> Rwhere Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> Rwhere Self: AsRef<U>, U: 'a + ?Sized, R: 'a,
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) -> Rwhere
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> Rwhere Self: AsMut<U>, U: 'a + ?Sized, R: 'a,
self
, then passes self.as_mut()
into the pipe
function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read more§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
Borrow<B>
of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
BorrowMut<B>
of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
AsRef<R>
view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
AsMut<R>
view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere
Self: Deref<Target = T>,
T: ?Sized,
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Selfwhere Self: Deref<Target = T>, T: ?Sized,
Deref::Target
of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Selfwhere Self: DerefMut<Target = T> + Deref, T: ?Sized,
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)) -> Selfwhere
Self: Borrow<B>,
B: ?Sized,
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Selfwhere Self: Borrow<B>, B: ?Sized,
.tap_borrow()
only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere
Self: BorrowMut<B>,
B: ?Sized,
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Selfwhere Self: BorrowMut<B>, B: ?Sized,
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere
Self: AsRef<R>,
R: ?Sized,
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Selfwhere Self: AsRef<R>, R: ?Sized,
.tap_ref()
only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere
Self: AsMut<R>,
R: ?Sized,
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Selfwhere Self: AsMut<R>, R: ?Sized,
.tap_ref_mut()
only in debug builds, and is erased in release
builds.§impl<T> TryConv for T
impl<T> TryConv for T
§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.