Struct dex_general::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>
pub fn supply_out_amount( supply: AssetBalance, path: Vec<T::AssetId> ) -> AssetBalance
pub fn desired_in_amount( desired_amount: AssetBalance, path: Vec<T::AssetId> ) -> AssetBalance
pub fn get_estimate_lptoken( asset_0: T::AssetId, asset_1: T::AssetId, amount_0_desired: AssetBalance, amount_1_desired: AssetBalance, amount_0_min: AssetBalance, amount_1_min: AssetBalance ) -> AssetBalance
pub fn get_pair_by_asset_id( asset_0: T::AssetId, asset_1: T::AssetId ) -> Option<PairInfo<T::AccountId, AssetBalance, T::AssetId>>
sourcepub fn calculate_remove_liquidity(
asset_0: T::AssetId,
asset_1: T::AssetId,
amount: AssetBalance
) -> Option<(AssetBalance, AssetBalance)>
pub fn calculate_remove_liquidity( asset_0: T::AssetId, asset_1: T::AssetId, amount: AssetBalance ) -> Option<(AssetBalance, AssetBalance)>
Calculate the underlying amounts for burning LP tokens using the formula (lp_balance * reserve) / lp_total_supply
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn pair_account_id(asset_0: T::AssetId, asset_1: T::AssetId) -> T::AccountId
pub fn pair_account_id(asset_0: T::AssetId, asset_1: T::AssetId) -> T::AccountId
The account ID of a pair account only use two byte prefix to support 16 byte account id (used by test) “modl” ++ “dex/genr” is 12 bytes, and 4 bytes remaining for hash of AssetId pair. for AccountId32, 20 bytes remaining for hash of AssetId pair.
sourcepub fn sort_asset_id(
asset_0: T::AssetId,
asset_1: T::AssetId
) -> (T::AssetId, T::AssetId)
pub fn sort_asset_id( asset_0: T::AssetId, asset_1: T::AssetId ) -> (T::AssetId, T::AssetId)
Sorted the foreign id of assets pair
pub fn lp_asset_id( asset_0: &T::AssetId, asset_1: &T::AssetId ) -> Option<T::AssetId>
pub fn inner_swap_assets_for_exact_assets( who: &T::AccountId, amount_out: AssetBalance, amount_in_max: AssetBalance, path: &[T::AssetId], recipient: &T::AccountId ) -> DispatchResult
pub fn get_amount_in_by_path( amount_out: AssetBalance, path: &[T::AssetId] ) -> Result<Vec<AssetBalance>, DispatchError>
pub fn get_amount_out_by_path( amount_in: AssetBalance, path: &[T::AssetId] ) -> Result<Vec<AssetBalance>, DispatchError>
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn set_fee_receiver(
origin: OriginFor<T>,
send_to: Option<<T::Lookup as StaticLookup>::Source>
) -> DispatchResult
pub fn set_fee_receiver( origin: OriginFor<T>, send_to: Option<<T::Lookup as StaticLookup>::Source> ) -> DispatchResult
Set the new receiver of the protocol fee.
Arguments
send_to
: (1) Some(receiver): it turn on the protocol fee and the new receiver account. (2) None: it turn off the protocol fee.
sourcepub fn set_fee_point(origin: OriginFor<T>, fee_point: u8) -> DispatchResult
pub fn set_fee_point(origin: OriginFor<T>, fee_point: u8) -> DispatchResult
Set the protocol fee point.
Arguments
fee_point
: An integer y which satisfies the equation1/x-1=y
where x is the percentage of the exchange fee e.g. 1/(1/6)-1=5, 1/(1/2)-1=1 See section 2.4 of the Uniswap v2 whitepaper
sourcepub fn set_exchange_fee(
origin: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId,
fee_rate: u128
) -> DispatchResult
pub fn set_exchange_fee( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, fee_rate: u128 ) -> DispatchResult
Set the exchange fee rate.
Arguments
asset_0
: Asset which makes up the pairasset_1
: Asset which makes up the pairfee_rate
: Value denoting the trading fee taken from the amount paid in, multiplied by the fee adjustment to simplify calculations. e.g. 0.3% / 100 = 0.003 0.003 * 10000 = 30 See section 3.2.1 of the Uniswap v2 whitepaper
sourcepub fn create_pair(
origin: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId,
fee_rate: u128
) -> DispatchResult
pub fn create_pair( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, fee_rate: u128 ) -> DispatchResult
Create pair by two assets.
The order of assets does not effect the result.
Arguments
asset_0
: Asset which make up Pairasset_1
: Asset which make up Pair
sourcepub fn add_liquidity(
origin: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId,
amount_0_desired: AssetBalance,
amount_1_desired: AssetBalance,
amount_0_min: AssetBalance,
amount_1_min: AssetBalance,
deadline: BlockNumberFor<T>
) -> DispatchResult
pub fn add_liquidity( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, amount_0_desired: AssetBalance, amount_1_desired: AssetBalance, amount_0_min: AssetBalance, amount_1_min: AssetBalance, deadline: BlockNumberFor<T> ) -> DispatchResult
Provide liquidity to a pair.
The order of assets does not effect the result.
Arguments
asset_0
: Asset which make up pairasset_1
: Asset which make up pairamount_0_desired
: Maximum amount of asset_0 added to the pairamount_1_desired
: Maximum amount of asset_1 added to the pairamount_0_min
: Minimum amount of asset_0 added to the pairamount_1_min
: Minimum amount of asset_1 added to the pairdeadline
: Height of the cutoff block of this transaction
sourcepub fn remove_liquidity(
origin: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId,
liquidity: AssetBalance,
amount_0_min: AssetBalance,
amount_1_min: AssetBalance,
recipient: <T::Lookup as StaticLookup>::Source,
deadline: BlockNumberFor<T>
) -> DispatchResult
pub fn remove_liquidity( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, liquidity: AssetBalance, amount_0_min: AssetBalance, amount_1_min: AssetBalance, recipient: <T::Lookup as StaticLookup>::Source, deadline: BlockNumberFor<T> ) -> DispatchResult
Extract liquidity.
The order of assets does not effect the result.
Arguments
asset_0
: Asset which make up pairasset_1
: Asset which make up pairamount_asset_0_min
: Minimum amount of asset_0 to exactamount_asset_1_min
: Minimum amount of asset_1 to exactrecipient
: Account that accepts withdrawal of assetsdeadline
: Height of the cutoff block of this transaction
sourcepub fn swap_exact_assets_for_assets(
origin: OriginFor<T>,
amount_in: AssetBalance,
amount_out_min: AssetBalance,
path: Vec<T::AssetId>,
recipient: <T::Lookup as StaticLookup>::Source,
deadline: BlockNumberFor<T>
) -> DispatchResult
pub fn swap_exact_assets_for_assets( origin: OriginFor<T>, amount_in: AssetBalance, amount_out_min: AssetBalance, path: Vec<T::AssetId>, recipient: <T::Lookup as StaticLookup>::Source, deadline: BlockNumberFor<T> ) -> DispatchResult
Sell amount of asset by path.
Arguments
amount_in
: Amount of the asset will be soldamount_out_min
: Minimum amount of target assetpath
: path can convert to pairs.recipient
: Account that receive the target assetdeadline
: Height of the cutoff block of this transaction
sourcepub fn swap_assets_for_exact_assets(
origin: OriginFor<T>,
amount_out: AssetBalance,
amount_in_max: AssetBalance,
path: Vec<T::AssetId>,
recipient: <T::Lookup as StaticLookup>::Source,
deadline: BlockNumberFor<T>
) -> DispatchResult
pub fn swap_assets_for_exact_assets( origin: OriginFor<T>, amount_out: AssetBalance, amount_in_max: AssetBalance, path: Vec<T::AssetId>, recipient: <T::Lookup as StaticLookup>::Source, deadline: BlockNumberFor<T> ) -> DispatchResult
Buy amount of asset by path.
Arguments
amount_out
: Amount of the asset will be boughtamount_in_max
: Maximum amount of sold assetpath
: path can convert to pairs.recipient
: Account that receive the target assetdeadline
: Height of the cutoff block of this transaction
sourcepub fn bootstrap_create(
origin: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId,
target_supply_0: AssetBalance,
target_supply_1: AssetBalance,
capacity_supply_0: AssetBalance,
capacity_supply_1: AssetBalance,
end: BlockNumberFor<T>,
rewards: Vec<T::AssetId>,
limits: Vec<(T::AssetId, AssetBalance)>
) -> DispatchResult
pub fn bootstrap_create( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, target_supply_0: AssetBalance, target_supply_1: AssetBalance, capacity_supply_0: AssetBalance, capacity_supply_1: AssetBalance, end: BlockNumberFor<T>, rewards: Vec<T::AssetId>, limits: Vec<(T::AssetId, AssetBalance)> ) -> DispatchResult
Create bootstrap pair
The order of asset don’t affect result.
Arguments
asset_0
: Asset which make up bootstrap pairasset_1
: Asset which make up bootstrap pairtarget_supply_0
: Target amount of asset_0 total contributetarget_supply_0
: Target amount of asset_1 total contributecapacity_supply_0
: The max amount of asset_0 total contributecapacity_supply_1
: The max amount of asset_1 total contributeend
: The earliest ending block.
sourcepub fn bootstrap_contribute(
who: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId,
amount_0_contribute: AssetBalance,
amount_1_contribute: AssetBalance,
deadline: BlockNumberFor<T>
) -> DispatchResult
pub fn bootstrap_contribute( who: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, amount_0_contribute: AssetBalance, amount_1_contribute: AssetBalance, deadline: BlockNumberFor<T> ) -> DispatchResult
Contribute some asset to a bootstrap pair
Arguments
asset_0
: Asset which make up bootstrap pairasset_1
: Asset which make up bootstrap pairamount_0_contribute
: The amount of asset_0 contribute to this bootstrap pairamount_1_contribute
: The amount of asset_1 contribute to this bootstrap pairdeadline
: Height of the cutoff block of this transaction
sourcepub fn bootstrap_claim(
origin: OriginFor<T>,
recipient: <T::Lookup as StaticLookup>::Source,
asset_0: T::AssetId,
asset_1: T::AssetId,
deadline: BlockNumberFor<T>
) -> DispatchResult
pub fn bootstrap_claim( origin: OriginFor<T>, recipient: <T::Lookup as StaticLookup>::Source, asset_0: T::AssetId, asset_1: T::AssetId, deadline: BlockNumberFor<T> ) -> DispatchResult
Claim lp asset from a bootstrap pair
Arguments
asset_0
: Asset which make up bootstrap pairasset_1
: Asset which make up bootstrap pairdeadline
: Height of the cutoff block of this transaction
sourcepub fn bootstrap_end(
origin: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId
) -> DispatchResult
pub fn bootstrap_end( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId ) -> DispatchResult
End a bootstrap pair
Arguments
asset_0
: Asset which make up bootstrap pairasset_1
: Asset which make up bootstrap pair
sourcepub fn bootstrap_update(
origin: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId,
target_supply_0: AssetBalance,
target_supply_1: AssetBalance,
capacity_supply_0: AssetBalance,
capacity_supply_1: AssetBalance,
end: BlockNumberFor<T>,
rewards: Vec<T::AssetId>,
limits: Vec<(T::AssetId, AssetBalance)>
) -> DispatchResult
pub fn bootstrap_update( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, target_supply_0: AssetBalance, target_supply_1: AssetBalance, capacity_supply_0: AssetBalance, capacity_supply_1: AssetBalance, end: BlockNumberFor<T>, rewards: Vec<T::AssetId>, limits: Vec<(T::AssetId, AssetBalance)> ) -> DispatchResult
update a bootstrap pair
Arguments
asset_0
: Asset which make up bootstrap pairasset_1
: Asset which make up bootstrap pairmin_contribution_0
: The new min amount of asset_0 contributemin_contribution_0
: The new min amount of asset_1 contributetarget_supply_0
: The new target amount of asset_0 total contributetarget_supply_0
: The new target amount of asset_1 total contributecapacity_supply_0
: The new max amount of asset_0 total contributecapacity_supply_1
: The new max amount of asset_1 total contributeend
: The earliest ending block.
sourcepub fn bootstrap_refund(
origin: OriginFor<T>,
asset_0: T::AssetId,
asset_1: T::AssetId
) -> DispatchResult
pub fn bootstrap_refund( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId ) -> DispatchResult
Contributor refund from disable bootstrap pair
Arguments
asset_0
: Asset which make up bootstrap pairasset_1
: Asset which make up bootstrap pair
pub fn bootstrap_charge_reward( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, charge_rewards: Vec<(T::AssetId, AssetBalance)> ) -> DispatchResult
pub fn bootstrap_withdraw_reward( origin: OriginFor<T>, asset_0: T::AssetId, asset_1: T::AssetId, recipient: <T::Lookup as StaticLookup>::Source ) -> DispatchResult
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn pair_status<KArg>(
k: KArg
) -> PairStatus<AssetBalance, BlockNumberFor<T>, T::AccountId>where
KArg: EncodeLike<(T::AssetId, T::AssetId)>,
pub fn pair_status<KArg>( k: KArg ) -> PairStatus<AssetBalance, BlockNumberFor<T>, T::AccountId>where KArg: EncodeLike<(T::AssetId, T::AssetId)>,
An auto-generated getter for PairStatuses
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn bootstrap_personal_supply<KArg>(k: KArg) -> (AssetBalance, AssetBalance)where
KArg: EncodeLike<((T::AssetId, T::AssetId), T::AccountId)>,
pub fn bootstrap_personal_supply<KArg>(k: KArg) -> (AssetBalance, AssetBalance)where KArg: EncodeLike<((T::AssetId, T::AssetId), T::AccountId)>,
An auto-generated getter for BootstrapPersonalSupply
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn bootstrap_end_status<KArg>(
k: KArg
) -> PairStatus<AssetBalance, BlockNumberFor<T>, T::AccountId>where
KArg: EncodeLike<(T::AssetId, T::AssetId)>,
pub fn bootstrap_end_status<KArg>( k: KArg ) -> PairStatus<AssetBalance, BlockNumberFor<T>, T::AccountId>where KArg: EncodeLike<(T::AssetId, T::AssetId)>,
An auto-generated getter for BootstrapEndStatus
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn get_bootstrap_rewards<KArg>(
k: KArg
) -> BoundedBTreeMap<T::AssetId, AssetBalance, T::MaxBootstrapRewards>where
KArg: EncodeLike<(T::AssetId, T::AssetId)>,
pub fn get_bootstrap_rewards<KArg>( k: KArg ) -> BoundedBTreeMap<T::AssetId, AssetBalance, T::MaxBootstrapRewards>where KArg: EncodeLike<(T::AssetId, T::AssetId)>,
An auto-generated getter for BootstrapRewards
.
source§impl<T: Config> Pallet<T>
impl<T: Config> Pallet<T>
sourcepub fn get_bootstrap_limits<KArg>(
k: KArg
) -> BoundedBTreeMap<T::AssetId, AssetBalance, T::MaxBootstrapLimits>where
KArg: EncodeLike<(T::AssetId, T::AssetId)>,
pub fn get_bootstrap_limits<KArg>( k: KArg ) -> BoundedBTreeMap<T::AssetId, AssetBalance, T::MaxBootstrapLimits>where KArg: EncodeLike<(T::AssetId, T::AssetId)>,
An auto-generated getter for BootstrapLimits
.
Trait Implementations§
source§impl<T: Config> ExportDexGeneral<<T as Config>::AccountId, <T as Config>::AssetId> for Pallet<T>
impl<T: Config> ExportDexGeneral<<T as Config>::AccountId, <T as Config>::AssetId> for Pallet<T>
fn get_amount_in_by_path( amount_out: AssetBalance, path: &[T::AssetId] ) -> Result<Vec<AssetBalance>, DispatchError>
fn get_amount_out_by_path( amount_in: AssetBalance, path: &[T::AssetId] ) -> Result<Vec<AssetBalance>, DispatchError>
fn inner_swap_assets_for_exact_assets( who: &T::AccountId, amount_out: AssetBalance, amount_in_max: AssetBalance, path: &[T::AssetId], recipient: &T::AccountId ) -> DispatchResult
fn inner_swap_exact_assets_for_assets( who: &T::AccountId, amount_in: AssetBalance, amount_out_min: AssetBalance, path: &[T::AssetId], recipient: &T::AccountId ) -> DispatchResult
fn inner_add_liquidity( who: &T::AccountId, asset_0: T::AssetId, asset_1: T::AssetId, amount_0_desired: AssetBalance, amount_1_desired: AssetBalance, amount_0_min: AssetBalance, amount_1_min: AssetBalance ) -> DispatchResult
fn inner_remove_liquidity( who: &T::AccountId, asset_0: T::AssetId, asset_1: T::AssetId, remove_liquidity: AssetBalance, amount_0_min: AssetBalance, amount_1_min: AssetBalance, recipient: &T::AccountId ) -> DispatchResult
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_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
on_finalize
). Read more§fn on_initialize(_n: BlockNumber) -> Weight
fn on_initialize(_n: BlockNumber) -> Weight
§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()
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>)
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
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> PartialEq<Pallet<T>> for Pallet<T>
impl<T> PartialEq<Pallet<T>> 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> 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
.