Struct pallet_ocif_staking::pallet::Pallet
source · pub struct Pallet<T>(PhantomData<T>);
Expand description
The Pallet
struct, the main type that implements traits and standalone
functions within the pallet.
Tuple Fields§
§0: PhantomData<T>
Implementations§
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn register_core(
origin: OriginFor<T>,
name: BoundedVec<u8, T::MaxNameLength>,
description: BoundedVec<u8, T::MaxDescriptionLength>,
image: BoundedVec<u8, T::MaxImageUrlLength>,
) -> DispatchResultWithPostInfo
pub fn register_core( origin: OriginFor<T>, name: BoundedVec<u8, T::MaxNameLength>, description: BoundedVec<u8, T::MaxDescriptionLength>, image: BoundedVec<u8, T::MaxImageUrlLength>, ) -> DispatchResultWithPostInfo
Used to register core for staking.
The origin has to be the core origin.
As part of this call, RegisterDeposit
will be reserved from the core account.
name
: Name of the core.description
: Description of the core.image
: Image URL of the core.
sourcepub fn unregister_core(origin: OriginFor<T>) -> DispatchResultWithPostInfo
pub fn unregister_core(origin: OriginFor<T>) -> DispatchResultWithPostInfo
Unregister existing core for staking, making it ineligible for rewards from current era onwards and starts the unbonding period for the stakers.
The origin has to be the core origin.
Deposit is returned to the core account.
core_id
: Id of the core to be unregistered.
sourcepub fn change_core_metadata(
origin: OriginFor<T>,
name: BoundedVec<u8, T::MaxNameLength>,
description: BoundedVec<u8, T::MaxDescriptionLength>,
image: BoundedVec<u8, T::MaxImageUrlLength>,
) -> DispatchResultWithPostInfo
pub fn change_core_metadata( origin: OriginFor<T>, name: BoundedVec<u8, T::MaxNameLength>, description: BoundedVec<u8, T::MaxDescriptionLength>, image: BoundedVec<u8, T::MaxImageUrlLength>, ) -> DispatchResultWithPostInfo
Used to change the metadata of a core.
The origin has to be the core origin.
name
: Name of the core.description
: Description of the core.image
: Image URL of the core.
sourcepub fn stake(
origin: OriginFor<T>,
core_id: T::CoreId,
value: BalanceOf<T>,
) -> DispatchResultWithPostInfo
pub fn stake( origin: OriginFor<T>, core_id: T::CoreId, value: BalanceOf<T>, ) -> DispatchResultWithPostInfo
Lock up and stake balance of the origin account.
value
must be more than the minimum_stake
specified by MinimumStakingAmount
unless account already has bonded value equal or more than ‘minimum_stake’.
The dispatch origin for this call must be Signed by the staker’s account.
core_id
: Id of the core to stake towards.value
: Amount to stake.
sourcepub fn unstake(
origin: OriginFor<T>,
core_id: T::CoreId,
value: BalanceOf<T>,
) -> DispatchResultWithPostInfo
pub fn unstake( origin: OriginFor<T>, core_id: T::CoreId, value: BalanceOf<T>, ) -> DispatchResultWithPostInfo
Start unbonding process and unstake balance from the core.
The unstaked amount will no longer be eligible for rewards but still won’t be unlocked.
User needs to wait for the unbonding period to finish before being able to withdraw
the funds via withdraw_unstaked
call.
In case remaining staked balance is below minimum staking amount, entire stake will be unstaked.
core_id
: Id of the core to unstake from.
sourcepub fn withdraw_unstaked(origin: OriginFor<T>) -> DispatchResultWithPostInfo
pub fn withdraw_unstaked(origin: OriginFor<T>) -> DispatchResultWithPostInfo
Withdraw all funds that have completed the unbonding process.
If there are unbonding chunks which will be fully unbonded in future eras, they will remain and can be withdrawn later.
The dispatch origin for this call must be Signed by the staker’s account.
sourcepub fn staker_claim_rewards(
origin: OriginFor<T>,
core_id: T::CoreId,
) -> DispatchResultWithPostInfo
pub fn staker_claim_rewards( origin: OriginFor<T>, core_id: T::CoreId, ) -> DispatchResultWithPostInfo
Claim the staker’s rewards.
In case reward cannot be claimed or was already claimed, an error is raised.
The dispatch origin for this call must be Signed by the staker’s account.
core_id
: Id of the core to claim rewards from.
sourcepub fn core_claim_rewards(
origin: OriginFor<T>,
core_id: T::CoreId,
era: Era,
) -> DispatchResultWithPostInfo
pub fn core_claim_rewards( origin: OriginFor<T>, core_id: T::CoreId, era: Era, ) -> DispatchResultWithPostInfo
Claim core reward for the specified era.
In case reward cannot be claimed or was already claimed, an error is raised.
core_id
: Id of the core to claim rewards from.era
: Era for which rewards are to be claimed.
sourcepub fn halt_unhalt_pallet(
origin: OriginFor<T>,
halt: bool,
) -> DispatchResultWithPostInfo
pub fn halt_unhalt_pallet( origin: OriginFor<T>, halt: bool, ) -> DispatchResultWithPostInfo
Halt or unhalt the pallet.
The dispatch origin for this call must be Root.
halt
:true
to halt,false
to unhalt.
sourcepub fn move_stake(
origin: OriginFor<T>,
from_core: T::CoreId,
amount: BalanceOf<T>,
to_core: T::CoreId,
) -> DispatchResultWithPostInfo
pub fn move_stake( origin: OriginFor<T>, from_core: T::CoreId, amount: BalanceOf<T>, to_core: T::CoreId, ) -> DispatchResultWithPostInfo
Move stake from one core to another.
The dispatch origin for this call must be Signed by the staker’s account.
from_core
: Id of the core to move stake from.amount
: Amount to move.to_core
: Id of the core to move stake to.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcefn internal_stake(
staker_info: &mut StakerInfo<BalanceOf<T>>,
staking_info: &mut CoreStakeInfo<BalanceOf<T>>,
amount: BalanceOf<T>,
current_era: Era,
) -> Result<(), Error<T>>
fn internal_stake( staker_info: &mut StakerInfo<BalanceOf<T>>, staking_info: &mut CoreStakeInfo<BalanceOf<T>>, amount: BalanceOf<T>, current_era: Era, ) -> Result<(), Error<T>>
Internal function responsible for validating a stake and updating in-place both the staker’s and core staking info.
sourcefn internal_unstake(
staker_info: &mut StakerInfo<BalanceOf<T>>,
core_stake_info: &mut CoreStakeInfo<BalanceOf<T>>,
amount: BalanceOf<T>,
current_era: Era,
) -> Result<BalanceOf<T>, Error<T>>
fn internal_unstake( staker_info: &mut StakerInfo<BalanceOf<T>>, core_stake_info: &mut CoreStakeInfo<BalanceOf<T>>, amount: BalanceOf<T>, current_era: Era, ) -> Result<BalanceOf<T>, Error<T>>
Internal function responsible for validating an unstake and updating in-place both the staker’s and core staking info.
pub(crate) fn account_id() -> T::AccountId
sourcefn update_ledger(staker: &T::AccountId, ledger: AccountLedger<BalanceOf<T>>)
fn update_ledger(staker: &T::AccountId, ledger: AccountLedger<BalanceOf<T>>)
Update the ledger for a staker. This will also update the stash lock. This lock will lock the entire funds except paying for further transactions.
sourcefn reward_balance_snapshot(
era: Era,
rewards: RewardInfo<BalanceOf<T>>,
new_active_stake: BalanceOf<T>,
)
fn reward_balance_snapshot( era: Era, rewards: RewardInfo<BalanceOf<T>>, new_active_stake: BalanceOf<T>, )
The block rewards are accumulated on the pallet’s account during an era. This function takes a snapshot of the pallet’s balance accrued during current era and stores it for future distribution
This is called just at the beginning of an era.
sourcepub fn rewards(
inflation: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::NegativeImbalance,
)
pub fn rewards( inflation: <<T as Config>::Currency as Currency<<T as Config>::AccountId>>::NegativeImbalance, )
Adds stakers
and cores
rewards to the reward pool.
inflation
: Total inflation for the era.
sourcefn update_staker_info(
staker: &T::AccountId,
core_id: T::CoreId,
staker_info: StakerInfo<BalanceOf<T>>,
)
fn update_staker_info( staker: &T::AccountId, core_id: T::CoreId, staker_info: StakerInfo<BalanceOf<T>>, )
Updates staker info for a core.
sourcefn available_staking_balance(
staker: &T::AccountId,
ledger: &AccountLedger<BalanceOf<T>>,
) -> BalanceOf<T>
fn available_staking_balance( staker: &T::AccountId, ledger: &AccountLedger<BalanceOf<T>>, ) -> BalanceOf<T>
Returns available staking balance for the potential staker.
sourcepub fn tvl() -> BalanceOf<T>
pub fn tvl() -> BalanceOf<T>
Returns total value locked by staking.
Note that this can differ from total staked value since some funds might be undergoing the unbonding period.
sourcepub(crate) fn core_stakers_split(
core_info: &CoreStakeInfo<BalanceOf<T>>,
era_info: &EraInfo<BalanceOf<T>>,
) -> (BalanceOf<T>, BalanceOf<T>)
pub(crate) fn core_stakers_split( core_info: &CoreStakeInfo<BalanceOf<T>>, era_info: &EraInfo<BalanceOf<T>>, ) -> (BalanceOf<T>, BalanceOf<T>)
Calculate reward split between core and stakers.
Returns (core reward, joint stakers reward)
sourcefn rotate_staking_info(current_era: Era) -> (Weight, BalanceOf<T>)
fn rotate_staking_info(current_era: Era) -> (Weight, BalanceOf<T>)
Used to copy all CoreStakeInfo
from the ending era over to the next era.
sourcepub fn internal_halt_unhalt(halt: bool)
pub fn internal_halt_unhalt(halt: bool)
Sets the halt state of the pallet.
sourcepub fn ensure_not_halted() -> Result<(), Error<T>>
pub fn ensure_not_halted() -> Result<(), Error<T>>
Ensure the pallet is not halted.
sourcepub(crate) fn process_core_unregistration_shard(
stakers: u32,
core_id: T::CoreId,
start_era: Era,
chunk_size: u64,
) -> DispatchResultWithPostInfo
pub(crate) fn process_core_unregistration_shard( stakers: u32, core_id: T::CoreId, start_era: Era, chunk_size: u64, ) -> DispatchResultWithPostInfo
Sharded execution of the core unregistration process.
This function is called by the [ProcessMessage
] trait implemented in [primitives::ProcessUnregistrationMessages
]
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn ledger<KArg>(k: KArg) -> AccountLedger<BalanceOf<T>>where
KArg: EncodeLike<T::AccountId>,
pub fn ledger<KArg>(k: KArg) -> AccountLedger<BalanceOf<T>>where
KArg: EncodeLike<T::AccountId>,
An auto-generated getter for Ledger
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn current_era() -> Era
pub fn current_era() -> Era
An auto-generated getter for CurrentEra
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn reward_accumulator() -> RewardInfo<BalanceOf<T>>
pub fn reward_accumulator() -> RewardInfo<BalanceOf<T>>
An auto-generated getter for RewardAccumulator
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn next_era_starting_block() -> BlockNumberFor<T>
pub fn next_era_starting_block() -> BlockNumberFor<T>
An auto-generated getter for NextEraStartingBlock
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn core_info<KArg>(k: KArg) -> Option<CoreInfoOf<T>>where
KArg: EncodeLike<T::CoreId>,
pub fn core_info<KArg>(k: KArg) -> Option<CoreInfoOf<T>>where
KArg: EncodeLike<T::CoreId>,
An auto-generated getter for RegisteredCore
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn general_era_info<KArg>(k: KArg) -> Option<EraInfo<BalanceOf<T>>>where
KArg: EncodeLike<Era>,
pub fn general_era_info<KArg>(k: KArg) -> Option<EraInfo<BalanceOf<T>>>where
KArg: EncodeLike<Era>,
An auto-generated getter for GeneralEraInfo
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn core_stake_info<KArg1, KArg2>(
k1: KArg1,
k2: KArg2,
) -> Option<CoreStakeInfo<BalanceOf<T>>>
pub fn core_stake_info<KArg1, KArg2>( k1: KArg1, k2: KArg2, ) -> Option<CoreStakeInfo<BalanceOf<T>>>
An auto-generated getter for CoreEraStake
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn staker_info<KArg1, KArg2>(
k1: KArg1,
k2: KArg2,
) -> StakerInfo<BalanceOf<T>>where
KArg1: EncodeLike<T::CoreId>,
KArg2: EncodeLike<T::AccountId>,
pub fn staker_info<KArg1, KArg2>(
k1: KArg1,
k2: KArg2,
) -> StakerInfo<BalanceOf<T>>where
KArg1: EncodeLike<T::CoreId>,
KArg2: EncodeLike<T::AccountId>,
An auto-generated getter for GeneralStakerInfo
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn core_unregistering_staker_info<KArg>(
k: KArg,
) -> Option<CoreStakeInfo<BalanceOf<T>>>where
KArg: EncodeLike<T::CoreId>,
pub fn core_unregistering_staker_info<KArg>(
k: KArg,
) -> Option<CoreStakeInfo<BalanceOf<T>>>where
KArg: EncodeLike<T::CoreId>,
An auto-generated getter for UnregisteredCoreStakeInfo
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn core_unregistering_staker_list<KArg>(
k: KArg,
) -> Option<BoundedVec<T::AccountId, T::MaxStakersPerCore>>where
KArg: EncodeLike<T::CoreId>,
pub fn core_unregistering_staker_list<KArg>(
k: KArg,
) -> Option<BoundedVec<T::AccountId, T::MaxStakersPerCore>>where
KArg: EncodeLike<T::CoreId>,
An auto-generated getter for UnregisteredCoreStakers
.
Trait Implementations§
source§impl<T: Config> BeforeAllRuntimeMigrations for Pallet<T>
impl<T: Config> BeforeAllRuntimeMigrations for Pallet<T>
source§fn before_all_runtime_migrations() -> Weight
fn before_all_runtime_migrations() -> Weight
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>
source§fn on_initialize(now: BlockNumberFor<T>) -> Weight
fn on_initialize(now: BlockNumberFor<T>) -> 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 for Pallet<T>
impl<T> PartialEq for Pallet<T>
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> Freeze for Pallet<T>
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§
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<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>,
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> Conv for T
impl<T> Conv for T
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<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<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>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<T> IsType<T> for T
impl<T> IsType<T> for T
§impl<T, Outer> IsWrappedBy<Outer> for T
impl<T, Outer> IsWrappedBy<Outer> 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) -> 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> 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)) -> 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.§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 S
impl<T, S> UniqueSaturatedInto<T> for S
§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.