[][src]Struct scale_info::Path

pub struct Path<T: Form = MetaForm> { /* fields omitted */ }

Represents the path of a type definition.

This consists of several segments that each have to be a valid Rust identifier. The first segment represents the crate name in which the type has been defined. The last

Rust prelude type may have an empty namespace definition.

Implementations

impl Path[src]

pub fn new(ident: &'static str, module_path: &'static str) -> Path[src]

Create a new Path

Panics

  • If the type identifier or module path contain invalid Rust identifiers

pub fn from_segments<I>(segments: I) -> Result<Path, PathError> where
    I: IntoIterator<Item = &'static str>, 
[src]

Create a Path from the given segments

Errors

  • If no segments are supplied
  • If any of the segments are invalid Rust identifiers

impl<T> Path<T> where
    T: Form
[src]

pub fn segments(&self) -> &[T::String]

Notable traits for &'_ mut [u8]

impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
[src]

Returns the segments of the Path

pub fn is_empty(&self) -> bool[src]

Returns true if the path is empty

pub fn ident(&self) -> Option<T::String>[src]

Get the ident segment of the Path

pub fn namespace(&self) -> &[T::String]

Notable traits for &'_ mut [u8]

impl<'_> Write for &'_ mut [u8]impl<'_> Read for &'_ [u8]
[src]

Get the namespace segments of the Path

Trait Implementations

impl<T: Clone + Form> Clone for Path<T> where
    T::String: Clone
[src]

impl<T: Debug + Form> Debug for Path<T> where
    T::String: Debug
[src]

impl<T: Form> Decode for Path<T> where
    Vec<T::String>: Decode,
    Vec<T::String>: Decode
[src]

impl<T> Default for Path<T> where
    T: Form
[src]

impl<'de, T: Form> Deserialize<'de> for Path<T> where
    T::Type: DeserializeOwned,
    T::String: DeserializeOwned
[src]

impl<T: Form> Encode for Path<T> where
    Vec<T::String>: Encode,
    Vec<T::String>: Encode
[src]

impl<T: Form> EncodeLike<Path<T>> for Path<T> where
    Vec<T::String>: Encode,
    Vec<T::String>: Encode
[src]

impl<T: Eq + Form> Eq for Path<T> where
    T::String: Eq
[src]

impl IntoCompact for Path[src]

type Output = Path<CompactForm>

The compact version of Self.

impl<T: Ord + Form> Ord for Path<T> where
    T::String: Ord
[src]

impl<T: PartialEq + Form> PartialEq<Path<T>> for Path<T> where
    T::String: PartialEq
[src]

impl<T: PartialOrd + Form> PartialOrd<Path<T>> for Path<T> where
    T::String: PartialOrd
[src]

impl<T: Form> Serialize for Path<T> where
    T::Type: Serialize,
    T::String: Serialize
[src]

impl<T: Form> StructuralEq for Path<T>[src]

impl<T: Form> StructuralPartialEq for Path<T>[src]

Auto Trait Implementations

impl<T> RefUnwindSafe for Path<T> where
    <T as Form>::String: RefUnwindSafe

impl<T> Send for Path<T> where
    <T as Form>::String: Send

impl<T> Sync for Path<T> where
    <T as Form>::String: Sync

impl<T> Unpin for Path<T> where
    <T as Form>::String: Unpin

impl<T> UnwindSafe for Path<T> where
    <T as Form>::String: UnwindSafe

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<S> Codec for S where
    S: Encode + Decode
[src]

impl<T, X> Decode for X where
    T: Decode + Into<X>,
    X: WrapperTypeDecode<Wrapped = T>, 
[src]

impl<T> DecodeAll for T where
    T: Decode
[src]

impl<T> DecodeLimit for T where
    T: Decode
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T, X> Encode for X where
    T: Encode + ?Sized,
    X: WrapperTypeEncode<Target = T>, 
[src]

impl<'_, '_, T> EncodeLike<&'_ &'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ T> for T where
    T: Encode
[src]

impl<'_, T> EncodeLike<&'_ mut T> for T where
    T: Encode
[src]

impl<T> EncodeLike<Arc<T>> for T where
    T: Encode
[src]

impl<T> EncodeLike<Box<T>> for T where
    T: Encode
[src]

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

impl<T> EncodeLike<Rc<T>> for T where
    T: Encode
[src]

impl<T> From<T> for T[src]

impl<S> FullCodec for S where
    S: Decode + FullEncode
[src]

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

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> KeyedVec for T where
    T: Codec
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.