[−][src]Struct scale_info::TypeDefPhantom
A type describing a PhantomData<T>
type.
In the context of SCALE encoded types, including PhantomData<T>
types in
the type info might seem surprising. The reason to include this information
is that there could be situations where it's useful and because removing
PhantomData
items from the derive input quickly becomes a messy
syntax-level hack (see PR https://github.com/paritytech/scale-info/pull/31).
Instead we take the same approach as parity-scale-codec
where users are
required to explicitly skip fields that cannot be represented in SCALE
encoding, using the #[codec(skip)]
attribute.
Implementations
impl TypeDefPhantom
[src]
impl<T> TypeDefPhantom<T> where
T: Form,
[src]
T: Form,
pub fn type_param(&self) -> &T::Type
[src]
Returns the type parameter type of the phantom type.
Trait Implementations
impl<T: Clone + Form> Clone for TypeDefPhantom<T> where
T::Type: Clone,
[src]
T::Type: Clone,
fn clone(&self) -> TypeDefPhantom<T>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Debug + Form> Debug for TypeDefPhantom<T> where
T::Type: Debug,
[src]
T::Type: Debug,
impl<T: Form> Decode for TypeDefPhantom<T> where
T::Type: Decode,
T::Type: Decode,
[src]
T::Type: Decode,
T::Type: Decode,
fn decode<__CodecInputEdqy: Input>(
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
[src]
__codec_input_edqy: &mut __CodecInputEdqy
) -> Result<Self, Error>
pub fn skip<I>(input: &mut I) -> Result<(), Error> where
I: Input,
[src]
I: Input,
pub fn encoded_fixed_size() -> Option<usize>
[src]
impl<T: Form> Encode for TypeDefPhantom<T> where
T::Type: Encode,
T::Type: Encode,
[src]
T::Type: Encode,
T::Type: Encode,
fn encode_to<__CodecOutputEdqy: Output + ?Sized>(
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
[src]
&self,
__codec_dest_edqy: &mut __CodecOutputEdqy
)
fn encode(&self) -> Vec<u8>ⓘ
[src]
fn using_encoded<R, F: FnOnce(&[u8]) -> R>(&self, f: F) -> R
[src]
pub fn size_hint(&self) -> usize
[src]
pub fn encoded_size(&self) -> usize
[src]
impl<T: Form> EncodeLike<TypeDefPhantom<T>> for TypeDefPhantom<T> where
T::Type: Encode,
T::Type: Encode,
[src]
T::Type: Encode,
T::Type: Encode,
impl<T: Eq + Form> Eq for TypeDefPhantom<T> where
T::Type: Eq,
[src]
T::Type: Eq,
impl From<TypeDefPhantom<MetaForm>> for Type
[src]
fn from(phantom: TypeDefPhantom) -> Self
[src]
impl<T: Form> From<TypeDefPhantom<T>> for TypeDef<T>
[src]
fn from(original: TypeDefPhantom<T>) -> TypeDef<T>
[src]
impl IntoPortable for TypeDefPhantom
[src]
type Output = TypeDefPhantom<PortableForm>
The portable version of Self
.
fn into_portable(self, registry: &mut Registry) -> Self::Output
[src]
impl<T: Ord + Form> Ord for TypeDefPhantom<T> where
T::Type: Ord,
[src]
T::Type: Ord,
fn cmp(&self, other: &TypeDefPhantom<T>) -> Ordering
[src]
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl<T: PartialEq + Form> PartialEq<TypeDefPhantom<T>> for TypeDefPhantom<T> where
T::Type: PartialEq,
[src]
T::Type: PartialEq,
fn eq(&self, other: &TypeDefPhantom<T>) -> bool
[src]
fn ne(&self, other: &TypeDefPhantom<T>) -> bool
[src]
impl<T: PartialOrd + Form> PartialOrd<TypeDefPhantom<T>> for TypeDefPhantom<T> where
T::Type: PartialOrd,
[src]
T::Type: PartialOrd,
fn partial_cmp(&self, other: &TypeDefPhantom<T>) -> Option<Ordering>
[src]
fn lt(&self, other: &TypeDefPhantom<T>) -> bool
[src]
fn le(&self, other: &TypeDefPhantom<T>) -> bool
[src]
fn gt(&self, other: &TypeDefPhantom<T>) -> bool
[src]
fn ge(&self, other: &TypeDefPhantom<T>) -> bool
[src]
impl<T: Form> StructuralEq for TypeDefPhantom<T>
[src]
impl<T: Form> StructuralPartialEq for TypeDefPhantom<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for TypeDefPhantom<T> where
<T as Form>::Type: RefUnwindSafe,
[src]
<T as Form>::Type: RefUnwindSafe,
impl<T> Send for TypeDefPhantom<T> where
<T as Form>::Type: Send,
[src]
<T as Form>::Type: Send,
impl<T> Sync for TypeDefPhantom<T> where
<T as Form>::Type: Sync,
[src]
<T as Form>::Type: Sync,
impl<T> Unpin for TypeDefPhantom<T> where
<T as Form>::Type: Unpin,
[src]
<T as Form>::Type: Unpin,
impl<T> UnwindSafe for TypeDefPhantom<T> where
<T as Form>::Type: UnwindSafe,
[src]
<T as Form>::Type: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<S> Codec for S where
S: Encode + Decode,
[src]
S: Encode + Decode,
impl<T> DecodeAll for T where
T: Decode,
[src]
T: Decode,
impl<T> DecodeLimit for T where
T: Decode,
[src]
T: Decode,
pub fn decode_all_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
pub fn decode_with_depth_limit(limit: u32, input: &[u8]) -> Result<T, Error>
[src]
impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ T> for T where
T: Encode,
[src]
T: Encode,
impl<'_, T> EncodeLike<&'_ mut T> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Arc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> EncodeLike<Box<T, Global>> for T where
T: Encode,
[src]
T: Encode,
impl<'a, T> EncodeLike<Cow<'a, T>> for T where
T: Encode + ToOwned,
[src]
T: Encode + ToOwned,
impl<T> EncodeLike<Rc<T>> for T where
T: Encode,
[src]
T: Encode,
impl<T> From<T> for T
[src]
impl<S> FullCodec for S where
S: Decode + FullEncode,
[src]
S: Decode + FullEncode,
impl<S> FullEncode for S where
S: Encode + EncodeLike<S>,
[src]
S: Encode + EncodeLike<S>,
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> KeyedVec for T where
T: Codec,
[src]
T: Codec,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,