pub enum Call<T: Config<I>, I: 'static = ()> {
    propose_spend {
        value: BalanceOf<T, I>,
        beneficiary: <<T as Config>::Lookup as StaticLookup>::Source,
    },
    reject_proposal {
        proposal_id: ProposalIndex,
    },
    approve_proposal {
        proposal_id: ProposalIndex,
    },
    spend_local {
        amount: BalanceOf<T, I>,
        beneficiary: <<T as Config>::Lookup as StaticLookup>::Source,
    },
    remove_approval {
        proposal_id: ProposalIndex,
    },
    spend {
        asset_kind: Box<T::AssetKind>,
        amount: AssetBalanceOf<T, I>,
        beneficiary: Box<<<T as Config<I>>::BeneficiaryLookup as StaticLookup>::Source>,
        valid_from: Option<BlockNumberFor<T>>,
    },
    payout {
        index: SpendIndex,
    },
    check_status {
        index: SpendIndex,
    },
    void_spend {
        index: SpendIndex,
    },
    // some variants omitted
}
Expand description

Contains a variant per dispatchable extrinsic that this pallet has.

Variants§

§

propose_spend

Fields

§value: BalanceOf<T, I>
§beneficiary: <<T as Config>::Lookup as StaticLookup>::Source

Put forward a suggestion for spending.

§Dispatch Origin

Must be signed.

§Details

A deposit proportional to the value is reserved and slashed if the proposal is rejected. It is returned once the proposal is awarded.

§Complexity
  • O(1)
§Events

Emits Event::Proposed if successful.

§

reject_proposal

Fields

§proposal_id: ProposalIndex

Reject a proposed spend.

§Dispatch Origin

Must be Config::RejectOrigin.

§Details

The original deposit will be slashed.

§Complexity
  • O(1)
§Events

Emits Event::Rejected if successful.

§

approve_proposal

Fields

§proposal_id: ProposalIndex

Approve a proposal.

§Dispatch Origin

Must be Config::ApproveOrigin.

§Details

At a later time, the proposal will be allocated to the beneficiary and the original deposit will be returned.

§Complexity
  • O(1).
§Events

No events are emitted from this dispatch.

§

spend_local

Fields

§amount: BalanceOf<T, I>
§beneficiary: <<T as Config>::Lookup as StaticLookup>::Source

Propose and approve a spend of treasury funds.

§Dispatch Origin

Must be Config::SpendOrigin with the Success value being at least amount.

§Details

NOTE: For record-keeping purposes, the proposer is deemed to be equivalent to the beneficiary.

§Parameters
  • amount: The amount to be transferred from the treasury to the beneficiary.
  • beneficiary: The destination account for the transfer.
§Events

Emits Event::SpendApproved if successful.

§

remove_approval

Fields

§proposal_id: ProposalIndex

Force a previously approved proposal to be removed from the approval queue.

§Dispatch Origin

Must be Config::RejectOrigin.

§Details

The original deposit will no longer be returned.

§Parameters
  • proposal_id: The index of a proposal
§Complexity
  • O(A) where A is the number of approvals
§Errors
  • Error::ProposalNotApproved: The proposal_id supplied was not found in the approval queue, i.e., the proposal has not been approved. This could also mean the proposal does not exist altogether, thus there is no way it would have been approved in the first place.
§

spend

Fields

§asset_kind: Box<T::AssetKind>
§amount: AssetBalanceOf<T, I>
§beneficiary: Box<<<T as Config<I>>::BeneficiaryLookup as StaticLookup>::Source>
§valid_from: Option<BlockNumberFor<T>>

Propose and approve a spend of treasury funds.

§Dispatch Origin

Must be Config::SpendOrigin with the Success value being at least amount of asset_kind in the native asset. The amount of asset_kind is converted for assertion using the Config::BalanceConverter.

§Details

Create an approved spend for transferring a specific amount of asset_kind to a designated beneficiary. The spend must be claimed using the payout dispatchable within the Config::PayoutPeriod.

§Parameters
  • asset_kind: An indicator of the specific asset class to be spent.
  • amount: The amount to be transferred from the treasury to the beneficiary.
  • beneficiary: The beneficiary of the spend.
  • valid_from: The block number from which the spend can be claimed. It can refer to the past if the resulting spend has not yet expired according to the Config::PayoutPeriod. If None, the spend can be claimed immediately after approval.
§Events

Emits Event::AssetSpendApproved if successful.

§

payout

Fields

Claim a spend.

§Dispatch Origin

Must be signed.

§Details

Spends must be claimed within some temporal bounds. A spend may be claimed within one Config::PayoutPeriod from the valid_from block. In case of a payout failure, the spend status must be updated with the check_status dispatchable before retrying with the current function.

§Parameters
  • index: The spend index.
§Events

Emits Event::Paid if successful.

§

check_status

Fields

Check the status of the spend and remove it from the storage if processed.

§Dispatch Origin

Must be signed.

§Details

The status check is a prerequisite for retrying a failed payout. If a spend has either succeeded or expired, it is removed from the storage by this function. In such instances, transaction fees are refunded.

§Parameters
  • index: The spend index.
§Events

Emits Event::PaymentFailed if the spend payout has failed. Emits Event::SpendProcessed if the spend payout has succeed.

§

void_spend

Fields

Void previously approved spend.

§Dispatch Origin

Must be Config::RejectOrigin.

§Details

A spend void is only possible if the payout has not been attempted yet.

§Parameters
  • index: The spend index.
§Events

Emits Event::AssetSpendVoided if successful.

Implementations§

source§

impl<T: Config<I>, I: 'static> Call<T, I>

source

pub fn new_call_variant_propose_spend( value: BalanceOf<T, I>, beneficiary: <<T as Config>::Lookup as StaticLookup>::Source ) -> Self

Create a call with the variant propose_spend.

source

pub fn new_call_variant_reject_proposal(proposal_id: ProposalIndex) -> Self

Create a call with the variant reject_proposal.

source

pub fn new_call_variant_approve_proposal(proposal_id: ProposalIndex) -> Self

Create a call with the variant approve_proposal.

source

pub fn new_call_variant_spend_local( amount: BalanceOf<T, I>, beneficiary: <<T as Config>::Lookup as StaticLookup>::Source ) -> Self

Create a call with the variant spend_local.

source

pub fn new_call_variant_remove_approval(proposal_id: ProposalIndex) -> Self

Create a call with the variant remove_approval.

source

pub fn new_call_variant_spend( asset_kind: Box<T::AssetKind>, amount: AssetBalanceOf<T, I>, beneficiary: Box<<<T as Config<I>>::BeneficiaryLookup as StaticLookup>::Source>, valid_from: Option<BlockNumberFor<T>> ) -> Self

Create a call with the variant spend.

source

pub fn new_call_variant_payout(index: SpendIndex) -> Self

Create a call with the variant payout.

source

pub fn new_call_variant_check_status(index: SpendIndex) -> Self

Create a call with the variant check_status.

source

pub fn new_call_variant_void_spend(index: SpendIndex) -> Self

Create a call with the variant void_spend.

Trait Implementations§

source§

impl<T: Config<I>, I: 'static> CheckIfFeeless for Call<T, I>

§

type Origin = <T as Config>::RuntimeOrigin

The Origin type of the runtime.
source§

fn is_feeless(&self, origin: &Self::Origin) -> bool

Checks if the dispatchable satisfies the feeless condition as defined by #[pallet::feeless_if]
source§

impl<T: Config<I>, I: 'static> Clone for Call<T, I>

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<T: Config<I>, I: 'static> Debug for Call<T, I>

source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<T: Config<I>, I: 'static> Decode for Call<T, I>

source§

fn decode<__CodecInputEdqy: Input>( __codec_input_edqy: &mut __CodecInputEdqy ) -> Result<Self, Error>

Attempt to deserialise the value from input.
§

fn decode_into<I>( input: &mut I, dst: &mut MaybeUninit<Self> ) -> Result<DecodeFinished, Error>
where I: Input,

Attempt to deserialize the value from input into a pre-allocated piece of memory. Read more
§

fn skip<I>(input: &mut I) -> Result<(), Error>
where I: Input,

Attempt to skip the encoded value from input. Read more
§

fn encoded_fixed_size() -> Option<usize>

Returns the fixed encoded size of the type. Read more
source§

impl<T: Config<I>, I: 'static> Encode for Call<T, I>

source§

fn size_hint(&self) -> usize

If possible give a hint of expected size of the encoding. Read more
source§

fn encode_to<__CodecOutputEdqy: Output + ?Sized>( &self, __codec_dest_edqy: &mut __CodecOutputEdqy )

Convert self to a slice and append it to the destination.
§

fn encode(&self) -> Vec<u8>

Convert self to an owned vector.
§

fn using_encoded<R, F>(&self, f: F) -> R
where F: FnOnce(&[u8]) -> R,

Convert self to a slice and then invoke the given closure with it.
§

fn encoded_size(&self) -> usize

Calculates the encoded size. Read more
source§

impl<T: Config<I>, I: 'static> GetCallIndex for Call<T, I>

source§

fn get_call_index(&self) -> u8

Return the index of this Call.
source§

fn get_call_indices() -> &'static [u8]

Return all call indices in the same order as [GetCallName].
source§

impl<T: Config<I>, I: 'static> GetCallName for Call<T, I>

source§

fn get_call_name(&self) -> &'static str

Return the function name of the Call.
source§

fn get_call_names() -> &'static [&'static str]

Return all function names in the same order as [GetCallIndex].
source§

impl<T: Config<I>, I: 'static> GetDispatchInfo for Call<T, I>

source§

fn get_dispatch_info(&self) -> DispatchInfo

Return a DispatchInfo, containing relevant information of this dispatch. Read more
source§

impl<T: Config<I>, I: 'static> PartialEq for Call<T, I>

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<T, I> TypeInfo for Call<T, I>
where PhantomData<(T, I)>: TypeInfo + 'static, BalanceOf<T, I>: HasCompact, <<T as Config>::Lookup as StaticLookup>::Source: TypeInfo + 'static, Box<T::AssetKind>: TypeInfo + 'static, AssetBalanceOf<T, I>: HasCompact, Box<<<T as Config<I>>::BeneficiaryLookup as StaticLookup>::Source>: TypeInfo + 'static, Option<BlockNumberFor<T>>: TypeInfo + 'static, T: Config<I> + 'static, I: 'static,

§

type Identity = Call<T, I>

The type identifying for which type info is provided. Read more
source§

fn type_info() -> Type

Returns the static type identifier for Self.
source§

impl<T: Config<I>, I: 'static> UnfilteredDispatchable for Call<T, I>

§

type RuntimeOrigin = <T as Config>::RuntimeOrigin

The origin type of the runtime, (i.e. frame_system::Config::RuntimeOrigin).
source§

fn dispatch_bypass_filter( self, origin: Self::RuntimeOrigin ) -> DispatchResultWithPostInfo

Dispatch this call but do not check the filter in origin.
source§

impl<T: Config<I>, I: 'static> EncodeLike for Call<T, I>

source§

impl<T: Config<I>, I: 'static> Eq for Call<T, I>

Auto Trait Implementations§

§

impl<T, I> RefUnwindSafe for Call<T, I>
where I: RefUnwindSafe, T: RefUnwindSafe, <T as Config<I>>::AssetKind: RefUnwindSafe, <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: RefUnwindSafe, <<T as Config<I>>::Paymaster as Pay>::Balance: RefUnwindSafe, <<<T as Config>::Block as Block>::Header as Header>::Number: RefUnwindSafe, <<T as Config<I>>::BeneficiaryLookup as StaticLookup>::Source: RefUnwindSafe, <<T as Config>::Lookup as StaticLookup>::Source: RefUnwindSafe,

§

impl<T, I> Send for Call<T, I>
where I: Send, T: Send, <T as Config<I>>::AssetKind: Send, <<T as Config<I>>::BeneficiaryLookup as StaticLookup>::Source: Send, <<T as Config>::Lookup as StaticLookup>::Source: Send,

§

impl<T, I> Sync for Call<T, I>
where I: Sync, T: Sync, <T as Config<I>>::AssetKind: Sync, <<T as Config<I>>::BeneficiaryLookup as StaticLookup>::Source: Sync, <<T as Config>::Lookup as StaticLookup>::Source: Sync,

§

impl<T, I> Unpin for Call<T, I>
where I: Unpin, T: Unpin, <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: Unpin, <<T as Config<I>>::Paymaster as Pay>::Balance: Unpin, <<<T as Config>::Block as Block>::Header as Header>::Number: Unpin, <<T as Config>::Lookup as StaticLookup>::Source: Unpin,

§

impl<T, I> UnwindSafe for Call<T, I>
where I: UnwindSafe, T: UnwindSafe, <T as Config<I>>::AssetKind: UnwindSafe, <<T as Config<I>>::Currency as Currency<<T as Config>::AccountId>>::Balance: UnwindSafe, <<T as Config<I>>::Paymaster as Pay>::Balance: UnwindSafe, <<<T as Config>::Block as Block>::Header as Header>::Number: UnwindSafe, <<T as Config<I>>::BeneficiaryLookup as StaticLookup>::Source: UnwindSafe, <<T as Config>::Lookup as StaticLookup>::Source: UnwindSafe,

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CheckedConversion for T

§

fn checked_from<T>(t: T) -> Option<Self>
where Self: TryFrom<T>,

Convert from a value of T into an equivalent instance of Option<Self>. Read more
§

fn checked_into<T>(self) -> Option<T>
where Self: TryInto<T>,

Consume self to return Some equivalent value of Option<T>. Read more
§

impl<T> Conv for T

§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
§

impl<T> DecodeAll for T
where T: Decode,

§

fn decode_all(input: &mut &[u8]) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

impl<T> DecodeLimit for T
where T: Decode,

§

fn decode_all_with_depth_limit( limit: u32, input: &mut &[u8] ) -> Result<T, Error>

Decode Self and consume all of the given input data. Read more
§

fn decode_with_depth_limit<I>(limit: u32, input: &mut I) -> Result<T, Error>
where I: Input,

Decode Self with the given maximum recursion depth and advance input by the number of bytes consumed. Read more
source§

impl<T> DynClone for T
where T: Clone,

source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<T> FmtForward for T

§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Hashable for T
where T: Codec,

§

fn blake2_128(&self) -> [u8; 16]

§

fn blake2_256(&self) -> [u8; 32]

§

fn blake2_128_concat(&self) -> Vec<u8>

§

fn twox_128(&self) -> [u8; 16]

§

fn twox_256(&self) -> [u8; 32]

§

fn twox_64_concat(&self) -> Vec<u8>

§

fn identity(&self) -> Vec<u8>

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

§

impl<T, U> IntoKey<U> for T
where U: FromKey<T>,

§

fn into_key(self) -> U

§

impl<T> IsType<T> for T

§

fn from_ref(t: &T) -> &T

Cast reference.
§

fn into_ref(&self) -> &T

Cast reference.
§

fn from_mut(t: &mut T) -> &mut T

Cast mutable reference.
§

fn into_mut(&mut self) -> &mut T

Cast mutable reference.
§

impl<T, Outer> IsWrappedBy<Outer> for T
where Outer: AsRef<T> + AsMut<T> + From<T>, T: From<Outer>,

§

fn from_ref(outer: &Outer) -> &T

Get a reference to the inner from the outer.

§

fn from_mut(outer: &mut Outer) -> &mut T

Get a mutable reference to the inner from the outer.

§

impl<T> KeyedVec for T
where T: Codec,

§

fn to_keyed_vec(&self, prepend_key: &[u8]) -> Vec<u8>

Return an encoding of Self prepended by given slice.
§

impl<T> Pipe for T
where T: ?Sized,

§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows 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) -> R
where R: 'a,

Mutably borrows 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
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows 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
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows 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
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
§

impl<T> SaturatedConversion for T

§

fn saturated_from<T>(t: T) -> Self
where Self: UniqueSaturatedFrom<T>,

Convert from a value of T into an equivalent instance of Self. Read more
§

fn saturated_into<T>(self) -> T
where Self: UniqueSaturatedInto<T>,

Consume self to return an equivalent value of T. Read more
§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
§

impl<T> Tap for T

§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .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
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .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
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T> TryConv for T

§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T, U> TryIntoKey<U> for T
where U: TryFromKey<T>,

§

type Error = <U as TryFromKey<T>>::Error

§

fn try_into_key(self) -> Result<U, <U as TryFromKey<T>>::Error>

§

impl<S, T> UncheckedInto<T> for S
where T: UncheckedFrom<S>,

§

fn unchecked_into(self) -> T

The counterpart to unchecked_from.
§

impl<T, S> UniqueSaturatedInto<T> for S
where T: Bounded, S: TryInto<T>,

§

fn unique_saturated_into(self) -> T

Consume self to return an equivalent value of T.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<S> Codec for S
where S: Decode + Encode,

§

impl<T> EncodeLike<&&T> for T
where T: Encode,

§

impl<T> EncodeLike<&T> for T
where T: Encode,

§

impl<T> EncodeLike<&mut T> for T
where T: Encode,

§

impl<T> EncodeLike<Arc<T>> for T
where T: Encode,

§

impl<T> EncodeLike<Box<T>> for T
where T: Encode,

§

impl<'a, T> EncodeLike<Cow<'a, T>> for T
where T: ToOwned + Encode,

§

impl<T> EncodeLike<Rc<T>> for T
where T: Encode,

§

impl<S> FullCodec for S
where S: Decode + FullEncode,

§

impl<S> FullEncode for S
where S: Encode + EncodeLike,

§

impl<T> JsonSchemaMaybe for T

§

impl<T> MaybeDebug for T
where T: Debug,

§

impl<T> MaybeRefUnwindSafe for T
where T: RefUnwindSafe,

§

impl<T> Member for T
where T: Send + Sync + Debug + Eq + PartialEq + Clone + 'static,

§

impl<T> Parameter for T
where T: Codec + EncodeLike + Clone + Eq + Debug + TypeInfo,

source§

impl<T> Scalar for T
where T: 'static + Clone + PartialEq + Debug,

§

impl<T> StaticTypeInfo for T
where T: TypeInfo + 'static,