# PalletInfo in pezkuwi_sdk_docs::guides::your_first_pallet::pezpallet_v2::tests::runtime_v2 - Rust
Provides an implementation of `PalletInfo` to provide information about the pezpallet setup in the runtime.

## PalletInfo

# Struct PalletInfo

Source

    pub struct PalletInfo;

Expand description

Provides an implementation of `PalletInfo` to provide information about the pezpallet setup in the runtime.

## Trait Implementations§

Source §

### impl PalletInfo for PalletInfo

Source §

#### fn index<P: 'static>() -> Option<usize>

Convert the given pezpallet `P` into its index as configured in the runtime.
Source §

#### fn name<P: 'static>() -> Option<&'static str>

Convert the given pezpallet `P` into its name as configured in the runtime.
Source §

#### fn name_hash<P: 'static>() -> Option<[u8; 16]>

The two128 hash of name.
Source §

#### fn module_name<P: 'static>() -> Option<&'static str>

Convert the given pezpallet `P` into its Rust module name as used in `construct_runtime!`.
Source §

#### fn crate_version<P: 'static>() -> Option<CrateVersion>

Convert the given pezpallet `P` into its containing crate version.

## Auto Trait Implementations§

§

### impl Freeze for PalletInfo

§

### impl RefUnwindSafe for PalletInfo

§

### impl Send for PalletInfo

§

### impl Sync for PalletInfo

§

### impl Unpin for PalletInfo

§

### impl UnwindSafe for PalletInfo

## 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
§

### impl<T> Any for T
where T: Any,

§

#### fn into_any(self: Box<T>) -> Box<dyn Any>

§

#### fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

§

#### fn type_name(&self) -> &'static str

§

### impl<T> AnySync for T
where T: Any + Send + Sync,

§

#### fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

§

### impl<'a, T, E> AsTaggedExplicit<'a, E> for T
where T: 'a,

§

#### fn explicit(self, class: Class, tag: u32) -> TaggedParser<'a, Explicit, Self, E>

§

### impl<'a, T, E> AsTaggedImplicit<'a, E> for T
where T: 'a,

§

#### fn implicit( self, class: Class, constructed: bool, tag: u32, ) -> TaggedParser<'a, Implicit, Self, E>

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<S, T> Cast<T> for S
where T: Conv<S>,

§

#### fn cast(self) -> T

Cast from `Self` to `T` Read more
§

#### fn try_cast(self) -> Result<T, Error>

Try converting from `Self` to `T` Read more
§

### impl<S, T> CastApprox<T> for S
where T: ConvApprox<S>,

§

#### fn try_cast_approx(self) -> Result<T, Error>

Try approximate conversion from `Self` to `T` Read more
§

#### fn cast_approx(self) -> T

Cast approximately from `Self` to `T` Read more
§

### impl<S, T> CastFloat<T> for S
where T: ConvFloat<S>,

§

#### fn cast_trunc(self) -> T

Cast to integer, truncating Read more
§

#### fn cast_nearest(self) -> T

Cast to the nearest integer Read more
§

#### fn cast_floor(self) -> T

Cast the floor to an integer Read more
§

#### fn cast_ceil(self) -> T

Cast the ceiling to an integer Read more
§

#### fn try_cast_trunc(self) -> Result<T, Error>

Try converting to integer with truncation Read more
§

#### fn try_cast_nearest(self) -> Result<T, Error>

Try converting to the nearest integer Read more
§

#### fn try_cast_floor(self) -> Result<T, Error>

Try converting the floor to an integer Read more
§

#### fn try_cast_ceil(self) -> Result<T, Error>

Try convert the ceiling to an integer 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, U> DefensiveTruncateInto<U> for T
where U: DefensiveTruncateFrom<T>,

§

#### fn defensive_truncate_into(self) -> U

Defensively truncate a value and convert it into its bounded form.
§

### impl<T> Downcast for T
where T: Any,

§

#### fn into_any(self: Box<T>) -> Box<dyn Any>

Convert `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`.
§

#### fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert `Rc<Trait>` (where `Trait: Downcast`) to `Rc<Any>`. `Rc<Any>` can then be further `downcast` into `Rc<ConcreteType>` where `ConcreteType` implements `Trait`.
§

#### fn as_any(&self) -> &(dyn Any + 'static)

Convert `&Trait` (where `Trait: Downcast`) to `&Any`. This is needed since Rust cannot generate `&Any`’s vtable from `&Trait`’s.
§

#### fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert `&mut Trait` (where `Trait: Downcast`) to `&Any`. This is needed since Rust cannot generate `&mut Any`’s vtable from `&mut Trait`’s.
§

### impl<T> DowncastSync for T
where T: Any + Send + Sync,

§

#### fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert `Arc<Trait>` (where `Trait: Downcast`) to `Arc<Any>`. `Arc<Any>` can then be further `downcast` into `Arc<ConcreteType>` where `ConcreteType` implements `Trait`.
§

### 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> 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> Instrument for T

Source §

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

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

#### 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.

Source §

### impl<T> IntoEither for T

Source §

#### fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts `self` into a `Left` variant of `Either<Self, Self>` if `into_left` is `true`. Converts `self` into a `Right` variant of `Either<Self, Self>` otherwise. Read more
Source §

#### fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts `self` into a `Left` variant of `Either<Self, Self>` if `into_left(&self)` returns `true`. Converts `self` into a `Right` variant of `Either<Self, Self>` otherwise. Read more
§

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

§

#### fn into_key(self) -> U

§

### impl<Src, Dest> IntoTuple<Dest> for Src
where Dest: FromTuple<Src>,

§

#### fn into_tuple(self) -> Dest

§

### 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> 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
§

### impl<T> PolicyExt for T
where T: ?Sized,

§

#### fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new `Policy` that returns [`Action::Follow`] only if `self` and `other` return `Action::Follow`. Read more
§

#### fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new `Policy` that returns [`Action::Follow`] if either `self` or `other` returns `Action::Follow`. Read more
Source §

### impl<T> Same for T

Source §

#### 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.
§

### 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>,

Source §

#### 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>,

Source §

#### 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
Source §

### impl<T> WithSubscriber for T

Source §

#### 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
Source §

#### fn with_current_subscriber(self) -> WithDispatch<Self>

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

### impl<T> JsonSchemaMaybe for T

§

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

§

### impl<T> MaybeSend for T
where T: Send,