Struct pallet_vesting_mangata::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 vest(
origin: OriginFor<T>,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId
) -> DispatchResult
pub fn vest( origin: OriginFor<T>, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId ) -> DispatchResult
Unlock any vested funds of the sender account.
The dispatch origin for this call must be Signed and the sender must have funds still locked under this pallet.
Emits either VestingCompleted
or VestingUpdated
.
Complexity
O(1)
.
sourcepub fn vest_other(
origin: OriginFor<T>,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId,
target: <<T as Config>::Lookup as StaticLookup>::Source
) -> DispatchResult
pub fn vest_other( origin: OriginFor<T>, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId, target: <<T as Config>::Lookup as StaticLookup>::Source ) -> DispatchResult
Unlock any vested funds of a target
account.
The dispatch origin for this call must be Signed.
target
: The account whose vested funds should be unlocked. Must have funds still locked under this pallet.
Emits either VestingCompleted
or VestingUpdated
.
Complexity
O(1)
.
sourcepub fn force_vested_transfer(
origin: OriginFor<T>,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId,
source: <<T as Config>::Lookup as StaticLookup>::Source,
target: <<T as Config>::Lookup as StaticLookup>::Source,
schedule: VestingInfo<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, BlockNumberFor<T>>
) -> DispatchResult
pub fn force_vested_transfer( origin: OriginFor<T>, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId, source: <<T as Config>::Lookup as StaticLookup>::Source, target: <<T as Config>::Lookup as StaticLookup>::Source, schedule: VestingInfo<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, BlockNumberFor<T>> ) -> DispatchResult
Force a vested transfer.
The dispatch origin for this call must be Root.
source
: The account whose funds should be transferred.target
: The account that should be transferred the vested funds.schedule
: The vesting schedule attached to the transfer.
Emits VestingCreated
.
NOTE: This will unlock all schedules through the current block.
Complexity
O(1)
.
sourcepub fn merge_schedules(
origin: OriginFor<T>,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId,
schedule1_index: u32,
schedule2_index: u32
) -> DispatchResult
pub fn merge_schedules( origin: OriginFor<T>, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId, schedule1_index: u32, schedule2_index: u32 ) -> DispatchResult
Merge two vesting schedules together, creating a new vesting schedule that unlocks over the highest possible start and end blocks. If both schedules have already started the current block will be used as the schedule start; with the caveat that if one schedule is finished by the current block, the other will be treated as the new merged schedule, unmodified.
NOTE: If schedule1_index == schedule2_index
this is a no-op.
NOTE: This will unlock all schedules through the current block prior to merging.
NOTE: If both schedules have ended by the current block, no new schedule will be created
and both will be removed.
Merged schedule attributes:
starting_block
:MAX(schedule1.starting_block, scheduled2.starting_block, current_block)
.ending_block
:MAX(schedule1.ending_block, schedule2.ending_block)
.locked
:schedule1.locked_at(current_block) + schedule2.locked_at(current_block)
.
The dispatch origin for this call must be Signed.
schedule1_index
: index of the first schedule to merge.schedule2_index
: index of the second schedule to merge.
pub fn sudo_unlock_all_vesting_tokens( origin: OriginFor<T>, target: <T::Lookup as StaticLookup>::Source, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId ) -> DispatchResult
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn vesting<KArg1, KArg2>(
k1: KArg1,
k2: KArg2
) -> Option<BoundedVec<VestingInfo<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, BlockNumberFor<T>>, MaxVestingSchedulesGet<T>>>where
KArg1: EncodeLike<T::AccountId>,
KArg2: EncodeLike<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId>,
pub fn vesting<KArg1, KArg2>( k1: KArg1, k2: KArg2 ) -> Option<BoundedVec<VestingInfo<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, BlockNumberFor<T>>, MaxVestingSchedulesGet<T>>>where KArg1: EncodeLike<T::AccountId>, KArg2: EncodeLike<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId>,
An auto-generated getter for Vesting
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
pub fn get_vesting_locked_at( who: &T::AccountId, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId, at_block_number: Option<BlockNumberFor<T>> ) -> Result<Vec<(VestingInfo<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, BlockNumberFor<T>>, <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance)>, DispatchError>
Trait Implementations§
source§impl<T: Config> GetStorageVersion for Pallet<T>
impl<T: Config> GetStorageVersion for Pallet<T>
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 integrity_test()
fn integrity_test()
source§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
source§fn on_finalize(_n: BlockNumber)
fn on_finalize(_n: BlockNumber)
source§fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
fn on_idle(_n: BlockNumber, _remaining_weight: Weight) -> Weight
Hooks::on_finalize
). Read moresource§fn on_runtime_upgrade() -> Weight
fn on_runtime_upgrade() -> Weight
source§fn offchain_worker(_n: BlockNumber)
fn offchain_worker(_n: BlockNumber)
source§impl<T: Config> IntegrityTest for Pallet<T>
impl<T: Config> IntegrityTest for Pallet<T>
source§impl<T: Config> MultiTokenVestingLocks<<T as Config>::AccountId> for Pallet<T>where
<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance: MaybeSerializeDeserialize + Debug,
<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId: MaybeSerializeDeserialize + Debug,
impl<T: Config> MultiTokenVestingLocks<<T as Config>::AccountId> for Pallet<T>where <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance: MaybeSerializeDeserialize + Debug, <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId: MaybeSerializeDeserialize + Debug,
§type Moment = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
type Moment = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
BlockNumber
.source§fn unlock_tokens(
who: &T::AccountId,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId,
unlock_amount: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance
) -> Result<(BlockNumberFor<T>, <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance), DispatchError>
fn unlock_tokens( who: &T::AccountId, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId, unlock_amount: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance ) -> Result<(BlockNumberFor<T>, <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance), DispatchError>
source§fn unlock_tokens_by_vesting_index(
who: &T::AccountId,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId,
vesting_index: u32,
unlock_some_amount_or_all: Option<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance>
) -> Result<(<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, BlockNumberFor<T>, <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance), DispatchError>
fn unlock_tokens_by_vesting_index( who: &T::AccountId, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId, vesting_index: u32, unlock_some_amount_or_all: Option<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance> ) -> Result<(<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, BlockNumberFor<T>, <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance), DispatchError>
source§fn lock_tokens(
who: &T::AccountId,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId,
lock_amount: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance,
starting_block: Option<BlockNumberFor<T>>,
ending_block_as_balance: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance
) -> DispatchResult
fn lock_tokens( who: &T::AccountId, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId, lock_amount: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, starting_block: Option<BlockNumberFor<T>>, ending_block_as_balance: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance ) -> DispatchResult
source§impl<T: Config> MultiTokenVestingSchedule<<T as Config>::AccountId> for Pallet<T>where
<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance: MaybeSerializeDeserialize + Debug,
<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId: MaybeSerializeDeserialize + Debug,
impl<T: Config> MultiTokenVestingSchedule<<T as Config>::AccountId> for Pallet<T>where <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance: MaybeSerializeDeserialize + Debug, <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId: MaybeSerializeDeserialize + Debug,
source§fn vesting_balance(
who: &T::AccountId,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId
) -> Option<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance>
fn vesting_balance( who: &T::AccountId, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId ) -> Option<<<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance>
Get the amount that is currently being vested and cannot be transferred out of this account.
source§fn add_vesting_schedule(
who: &T::AccountId,
locked: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance,
per_block: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance,
starting_block: BlockNumberFor<T>,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId
) -> DispatchResult
fn add_vesting_schedule( who: &T::AccountId, locked: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, per_block: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, starting_block: BlockNumberFor<T>, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId ) -> DispatchResult
Adds a vesting schedule to a given account.
If the account has MaxVestingSchedules
, an Error is returned and nothing
is updated.
On success, a linearly reducing amount of funds will be locked. In order to realise any
reduction of the lock over time as it diminishes, the account owner must use vest
or
vest_other
.
Is a no-op if the amount to be vested is zero.
NOTE: This doesn’t alter the free balance of the account.
source§fn remove_vesting_schedule(
who: &T::AccountId,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId,
schedule_index: u32
) -> DispatchResult
fn remove_vesting_schedule( who: &T::AccountId, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId, schedule_index: u32 ) -> DispatchResult
Remove a vesting schedule for a given account.
§type Moment = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
type Moment = <<<T as Config>::Block as HeaderProvider>::HeaderT as Header>::Number
BlockNumber
.source§fn can_add_vesting_schedule(
who: &T::AccountId,
locked: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance,
per_block: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance,
starting_block: BlockNumberFor<T>,
token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId
) -> DispatchResult
fn can_add_vesting_schedule( who: &T::AccountId, locked: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, per_block: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::Balance, starting_block: BlockNumberFor<T>, token_id: <<T as Config>::Tokens as MultiTokenCurrency<<T as Config>::AccountId>>::CurrencyId ) -> DispatchResult
add_vesting_schedule
would work against who
.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§fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
fn on_idle(n: BlockNumberFor<T>, remaining_weight: Weight) -> Weight
Hooks::on_idle
.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
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: Config> PalletsInfoAccess for Pallet<T>
impl<T: Config> PalletsInfoAccess for Pallet<T>
source§impl<T> PartialEq<Pallet<T>> for Pallet<T>
impl<T> PartialEq<Pallet<T>> for Pallet<T>
source§impl<T: Config> StorageInfoTrait for Pallet<T>
impl<T: Config> StorageInfoTrait for Pallet<T>
fn storage_info() -> Vec<StorageInfo>
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§
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> CheckedConversion for T
impl<T> CheckedConversion 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.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> 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, Outer> IsWrappedBy<Outer> for Twhere
Outer: AsRef<T> + AsMut<T> + From<T>,
T: From<Outer>,
impl<T, Outer> IsWrappedBy<Outer> for Twhere Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,
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) -> 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,
source§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,
source§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.source§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.source§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<T> SaturatedConversion for T
impl<T> SaturatedConversion for T
source§fn saturated_from<T>(t: T) -> Selfwhere
Self: UniqueSaturatedFrom<T>,
fn saturated_from<T>(t: T) -> Selfwhere Self: UniqueSaturatedFrom<T>,
source§fn saturated_into<T>(self) -> Twhere
Self: UniqueSaturatedInto<T>,
fn saturated_into<T>(self) -> Twhere Self: UniqueSaturatedInto<T>,
T
. Read moresource§impl<T> Tap for T
impl<T> Tap for T
source§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 moresource§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 moresource§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 moresource§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 moresource§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 moresource§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 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)) -> 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.source§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.source§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.source§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.source§impl<S, T> UncheckedInto<T> for Swhere
T: UncheckedFrom<S>,
impl<S, T> UncheckedInto<T> for Swhere T: UncheckedFrom<S>,
source§fn unchecked_into(self) -> T
fn unchecked_into(self) -> T
unchecked_from
.source§impl<T, S> UniqueSaturatedInto<T> for Swhere
T: Bounded,
S: TryInto<T>,
impl<T, S> UniqueSaturatedInto<T> for Swhere T: Bounded, S: TryInto<T>,
source§fn unique_saturated_into(self) -> T
fn unique_saturated_into(self) -> T
T
.