Enum pallet_xyk_liquidity_mining::pallet::Call
source · pub enum Call<T: Config> {
create_global_farm {
total_rewards: Balance,
planned_yielding_periods: <T as Config>::BlockNumber,
blocks_per_period: BlockNumberFor<T>,
incentivized_asset: AssetId,
reward_currency: AssetId,
owner: T::AccountId,
yield_per_period: Perquintill,
min_deposit: Balance,
price_adjustment: FixedU128,
},
update_global_farm {
global_farm_id: GlobalFarmId,
price_adjustment: FixedU128,
},
terminate_global_farm {
global_farm_id: GlobalFarmId,
},
create_yield_farm {
global_farm_id: GlobalFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier,
loyalty_curve: Option<LoyaltyCurve>,
},
update_yield_farm {
global_farm_id: GlobalFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier,
},
stop_yield_farm {
global_farm_id: GlobalFarmId,
asset_pair: AssetPair,
},
resume_yield_farm {
global_farm_id: GlobalFarmId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier,
},
terminate_yield_farm {
global_farm_id: GlobalFarmId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair,
},
deposit_shares {
global_farm_id: GlobalFarmId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair,
shares_amount: Balance,
},
redeposit_shares {
global_farm_id: GlobalFarmId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair,
deposit_id: DepositId,
},
claim_rewards {
deposit_id: DepositId,
yield_farm_id: YieldFarmId,
},
withdraw_shares {
deposit_id: DepositId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair,
},
// some variants omitted
}
Expand description
Contains one variant per dispatchable that can be called by an extrinsic.
Variants§
create_global_farm
Fields
planned_yielding_periods: <T as Config>::BlockNumber
blocks_per_period: BlockNumberFor<T>
yield_per_period: Perquintill
Create new liquidity mining program with provided parameters.
owner
account has to have at least total_rewards
balance. This fund will be
transferred from owner
to farm account.
The dispatch origin for this call must be T::CreateOrigin
.
!!!WARN: T::CreateOrigin
has power over funds of owner
’s account and it should be
configured to trusted origin e.g Sudo or Governance.
Parameters:
origin
: global farm’s owner.total_rewards
: total rewards planned to distribute. This rewards will be distributed between all yield farms in the global farm.planned_yielding_periods
: planned number of periods to distributetotal_rewards
. WARN: THIS IS NOT HARD DEADLINE. Not all rewards have to be distributed inplanned_yielding_periods
. Rewards are distributed based on the situation in the yield farms and can be distributed in a longer time frame but never in the shorter time frame.blocks_per_period
: number of blocks in a single period. Min. number of blocks per period is 1.incentivized_asset
: asset to be incentivized in XYK pools. All yield farms added into liq. mining program have to haveincentivized_asset
in their pair.reward_currency
: payoff currency of rewards.owner
: liq. mining program owner.yield_per_period
: percentage return onreward_currency
of all farms p.a.min_deposit
: minimum amount which can be deposited to the farmprice_adjustment
: EmitsGlobalFarmCreated
event when successful.
update_global_farm
Update global farm’s prices adjustment.
Only farm’s owner can perform this action.
Parameters:
origin
: global farm’s owner.global_farm_id
: id of the global farm to updateprice_adjustment
: new value for price adjustment
Emits GlobalFarmUpdated
event when successful.
terminate_global_farm
Fields
global_farm_id: GlobalFarmId
Terminate existing liq. mining program.
Only farm owner can perform this action.
WARN: To successfully terminate a farm, farm have to be empty(all yield farms in he global farm must be terminated).
Parameters:
origin
: global farm’s owner.global_farm_id
: id of global farm to be terminated.
Emits GlobalFarmTerminated
event when successful.
create_yield_farm
Add yield farm for given asset_pair
XYK pool.
Only farm owner can perform this action.
Only XYKs with asset_pair
with incentivized_asset
can be added into the farm. XYK
pool for asset_pair
has to exist to successfully create yield farm.
Yield farm for same asset_pair
can exist only once in the global farm.
Parameters:
origin
: global farm’s owner.farm_id
: global farm id to which a yield farm will be added.asset_pair
: asset pair identifying yield farm. Liq. mining will be allowed for thisasset_pair
and one of the assets in the pair must beincentivized_asset
.multiplier
: yield farm multiplier.loyalty_curve
: curve to calculate loyalty multiplier to distribute rewards to users with time incentive.None
means no loyalty multiplier.
Emits YieldFarmCreated
event when successful.
update_yield_farm
Update yield farm multiplier.
Only farm owner can perform this action.
Parameters:
origin
: global farm’s owner.global_farm_id
: global farm id in which yield farm will be updated.asset_pair
: asset pair identifying yield farm in global farm.multiplier
: new yield farm multiplier.
Emits YieldFarmUpdated
event when successful.
stop_yield_farm
Stop liq. miming for specific yield farm.
This function claims rewards from GlobalFarm
last time and stops yield farm
incentivization from a GlobalFarm
. Users will be able to only withdraw
shares(with claiming) after calling this function.
deposit_shares()
and claim_rewards()
are not allowed on canceled yield farm.
Only farm owner can perform this action.
Parameters:
origin
: global farm’s owner.global_farm_id
: farm id in which yield farm will be canceled.asset_pair
: asset pair identifying yield farm in the farm.
Emits YieldFarmStopped
event when successful.
resume_yield_farm
Resume yield farm for stopped yield farm.
This function resume incentivization from GlobalFarm
and restore full functionality
for yield farm. Users will be able to deposit, claim and withdraw again.
WARN: Yield farm is NOT rewarded for time it was stopped.
Only farm owner can perform this action.
Parameters:
origin
: global farm’s owner.global_farm_id
: global farm id in which yield farm will be resumed.yield_farm_id
: id of yield farm to be resumed.asset_pair
: asset pair identifying yield farm in global farm.multiplier
: yield farm multiplier in the farm.
Emits YieldFarmResumed
event when successful.
terminate_yield_farm
Remove yield farm
This function marks a yield farm as ready to be removed from storage when it’s empty. Users will be able to only withdraw shares(without claiming rewards from yield farm). Unpaid rewards will be transferred back to global farm and will be used to distribute to other yield farms.
Yield farm must be stopped before calling this function.
Only global farm’s owner can perform this action. Yield farm stays in the storage until it’s empty(all farm entries are withdrawn). Last withdrawn from yield farm trigger removing from the storage.
Parameters:
origin
: global farm’s owner.global_farm_id
: farm id from which yield farm should be terminated.yield_farm_id
: id of yield farm to be terminated.asset_pair
: asset pair identifying yield farm in the global farm.
Emits YieldFarmTerminated
event when successful.
Deposit LP shares to a liq. mining.
This function transfers LP shares from origin
to pallet’s account and mint nft for
origin
account. Minted nft represents deposit in the liq. mining.
Parameters:
origin
: account depositing LP shares. This account has to have at leastshares_amount
of LP shares.global_farm_id
: id of global farm to which user wants to deposit LP shares.yield_farm_id
: id of yield farm to deposit to.asset_pair
: asset pair identifying LP shares user wants to deposit.shares_amount
: amount of LP shares user wants to deposit.
Emits SharesDeposited
event when successful.
Redeposit already locked LP shares to another yield farm.
This function create yield farm entry for existing deposit. LP shares are not transferred and amount of LP shares is based on existing deposit.
This function DOESN’T create new deposit.
Parameters:
origin
: account depositing LP shares. This account have to have at leastglobal_farm_id
: global farm identifier.yield_farm_id
: yield farm identifier redepositing to.asset_pair
: asset pair identifying LP shares user want to deposit.deposit_id
: identifier of the deposit.
Emits SharesRedeposited
event when successful.
claim_rewards
Claim rewards from liq. mining for deposit represented by nft_id
.
This function calculate user rewards from liq. mining and transfer rewards to origin
account. Claiming in the same period is allowed only once.
Parameters:
origin
: account owner of deposit(nft).deposit_id
: nft id representing deposit in the yield farm.yield_farm_id
: yield farm identifier to claim rewards from.
Emits RewardClaimed
event when successful.
Withdraw LP shares from liq. mining with reward claiming if possible.
List of possible cases of transfers of LP shares and claimed rewards:
- yield farm is active(yield farm is not stopped) - claim and transfer rewards(if it wasn’t claimed in this period) and transfer LP shares.
- liq. mining is stopped - claim and transfer rewards(if it wasn’t claimed in this period) and transfer LP shares.
- yield farm was terminated - only LP shares will be transferred.
- farm was terminated - only LP shares will be transferred.
User’s unclaimable rewards will be transferred back to global farm’s account.
Parameters:
origin
: account owner of deposit(nft).deposit_id
: nft id representing deposit in the yield farm.yield_farm_id
: yield farm identifier to dithdraw shares from.asset_pair
: asset pair identifying yield farm in global farm.
Emits:
RewardClaimed
if claim happenSharesWithdrawn
event when successful
Implementations§
source§impl<T: Config> Call<T>
impl<T: Config> Call<T>
sourcepub fn new_call_variant_create_global_farm(
total_rewards: Balance,
planned_yielding_periods: <T as Config>::BlockNumber,
blocks_per_period: BlockNumberFor<T>,
incentivized_asset: AssetId,
reward_currency: AssetId,
owner: T::AccountId,
yield_per_period: Perquintill,
min_deposit: Balance,
price_adjustment: FixedU128
) -> Self
pub fn new_call_variant_create_global_farm(
total_rewards: Balance,
planned_yielding_periods: <T as Config>::BlockNumber,
blocks_per_period: BlockNumberFor<T>,
incentivized_asset: AssetId,
reward_currency: AssetId,
owner: T::AccountId,
yield_per_period: Perquintill,
min_deposit: Balance,
price_adjustment: FixedU128
) -> Self
Create a call with the variant create_global_farm
.
sourcepub fn new_call_variant_update_global_farm(
global_farm_id: GlobalFarmId,
price_adjustment: FixedU128
) -> Self
pub fn new_call_variant_update_global_farm(
global_farm_id: GlobalFarmId,
price_adjustment: FixedU128
) -> Self
Create a call with the variant update_global_farm
.
sourcepub fn new_call_variant_terminate_global_farm(
global_farm_id: GlobalFarmId
) -> Self
pub fn new_call_variant_terminate_global_farm(
global_farm_id: GlobalFarmId
) -> Self
Create a call with the variant terminate_global_farm
.
sourcepub fn new_call_variant_create_yield_farm(
global_farm_id: GlobalFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier,
loyalty_curve: Option<LoyaltyCurve>
) -> Self
pub fn new_call_variant_create_yield_farm(
global_farm_id: GlobalFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier,
loyalty_curve: Option<LoyaltyCurve>
) -> Self
Create a call with the variant create_yield_farm
.
sourcepub fn new_call_variant_update_yield_farm(
global_farm_id: GlobalFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier
) -> Self
pub fn new_call_variant_update_yield_farm(
global_farm_id: GlobalFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier
) -> Self
Create a call with the variant update_yield_farm
.
sourcepub fn new_call_variant_stop_yield_farm(
global_farm_id: GlobalFarmId,
asset_pair: AssetPair
) -> Self
pub fn new_call_variant_stop_yield_farm(
global_farm_id: GlobalFarmId,
asset_pair: AssetPair
) -> Self
Create a call with the variant stop_yield_farm
.
sourcepub fn new_call_variant_resume_yield_farm(
global_farm_id: GlobalFarmId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier
) -> Self
pub fn new_call_variant_resume_yield_farm(
global_farm_id: GlobalFarmId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair,
multiplier: FarmMultiplier
) -> Self
Create a call with the variant resume_yield_farm
.
sourcepub fn new_call_variant_terminate_yield_farm(
global_farm_id: GlobalFarmId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair
) -> Self
pub fn new_call_variant_terminate_yield_farm(
global_farm_id: GlobalFarmId,
yield_farm_id: YieldFarmId,
asset_pair: AssetPair
) -> Self
Create a call with the variant terminate_yield_farm
.
Create a call with the variant deposit_shares
.
Create a call with the variant redeposit_shares
.
sourcepub fn new_call_variant_claim_rewards(
deposit_id: DepositId,
yield_farm_id: YieldFarmId
) -> Self
pub fn new_call_variant_claim_rewards(
deposit_id: DepositId,
yield_farm_id: YieldFarmId
) -> Self
Create a call with the variant claim_rewards
.
Create a call with the variant withdraw_shares
.
Trait Implementations§
source§impl<T: Config> Decode for Call<T>
impl<T: Config> Decode for Call<T>
source§impl<T: Config> Encode for Call<T>
impl<T: Config> Encode for Call<T>
source§fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
source§fn size_hint(&self) -> usize
fn size_hint(&self) -> usize
source§fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
fn using_encoded<R, F>(&self, f: F) -> Rwhere
F: FnOnce(&[u8]) -> R,
source§fn encoded_size(&self) -> usize
fn encoded_size(&self) -> usize
source§impl<T: Config> GetCallName for Call<T>
impl<T: Config> GetCallName for Call<T>
source§fn get_call_name(&self) -> &'static str
fn get_call_name(&self) -> &'static str
source§fn get_call_names() -> &'static [&'static str]
fn get_call_names() -> &'static [&'static str]
source§impl<T: Config> GetDispatchInfo for Call<T>
impl<T: Config> GetDispatchInfo for Call<T>
source§fn get_dispatch_info(&self) -> DispatchInfo
fn get_dispatch_info(&self) -> DispatchInfo
DispatchInfo
, containing relevant information of this dispatch. Read moresource§impl<T> TypeInfo for Call<T>where
PhantomData<(T,)>: TypeInfo + 'static,
<T as Config>::BlockNumber: TypeInfo + 'static,
BlockNumberFor<T>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T: Config + 'static,
impl<T> TypeInfo for Call<T>where
PhantomData<(T,)>: TypeInfo + 'static,
<T as Config>::BlockNumber: TypeInfo + 'static,
BlockNumberFor<T>: TypeInfo + 'static,
T::AccountId: TypeInfo + 'static,
T: Config + 'static,
source§impl<T: Config> UnfilteredDispatchable for Call<T>
impl<T: Config> UnfilteredDispatchable for Call<T>
§type Origin = <T as Config>::Origin
type Origin = <T as Config>::Origin
frame_system::Config::Origin
).source§fn dispatch_bypass_filter(
self,
origin: Self::Origin
) -> DispatchResultWithPostInfo
fn dispatch_bypass_filter(
self,
origin: Self::Origin
) -> DispatchResultWithPostInfo
impl<T: Config> EncodeLike<Call<T>> for Call<T>
impl<T: Config> Eq for Call<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for Call<T>where
T: RefUnwindSafe,
<T as Config>::AccountId: RefUnwindSafe,
<T as Config>::BlockNumber: RefUnwindSafe,
impl<T> Send for Call<T>where
T: Send,
impl<T> Sync for Call<T>where
T: Sync,
impl<T> Unpin for Call<T>where
T: Unpin,
<T as Config>::AccountId: Unpin,
<T as Config>::BlockNumber: Unpin,
impl<T> UnwindSafe for Call<T>where
T: UnwindSafe,
<T as Config>::AccountId: UnwindSafe,
<T as Config>::BlockNumber: UnwindSafe,
Blanket Implementations§
source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
source§impl<T> CheckedConversion for T
impl<T> CheckedConversion for T
source§impl<T> DecodeLimit for Twhere
T: Decode,
impl<T> DecodeLimit for Twhere
T: Decode,
source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
source§fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read moresource§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read moresource§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moresource§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,
source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
source§impl<T> Hashable for Twhere
T: Codec,
impl<T> Hashable for Twhere
T: Codec,
fn blake2_128(&self) -> [u8; 16]
fn blake2_256(&self) -> [u8; 32]
fn blake2_128_concat(&self) -> Vec<u8, Global> ⓘ
fn twox_128(&self) -> [u8; 16]
fn twox_256(&self) -> [u8; 32]
fn twox_64_concat(&self) -> Vec<u8, Global> ⓘ
fn identity(&self) -> Vec<u8, Global> ⓘ
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<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
impl<Src, Dst> LosslessTryInto<Dst> for Srcwhere
Dst: LosslessTryFrom<Src>,
source§fn lossless_try_into(self) -> Option<Dst>
fn lossless_try_into(self) -> Option<Dst>
source§impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
impl<Src, Dst> LossyInto<Dst> for Srcwhere
Dst: LossyFrom<Src>,
source§fn lossy_into(self) -> Dst
fn lossy_into(self) -> Dst
source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
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,
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> SaturatingAs for T
impl<T> SaturatingAs for T
source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.source§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. Read moresource§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. Read moresource§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. Read moresource§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. Read moresource§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. Read moresource§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
.