Type

Struct Type 

Source
pub struct Type<'t>(/* private fields */);
Expand description

Represents a type from the type table. A Type has been minimally processed and may not be correctly formed or even understood by this library.

To avoid copying, Types exist as references to data owned by the parent TypeInformation. Therefore, a Type may not outlive its parent.

Implementations§

Source§

impl<'t> Type<'t>

Source

pub fn type_index(&self) -> TypeIndex

Returns this type’s TypeIndex.

Source

pub fn len(&self) -> usize

Returns the length of this type’s data in terms of bytes in the on-disk format.

Types are prefixed by length, which is not included in this count.

Source

pub fn raw_kind(&self) -> u16

Returns the kind of type identified by this Type.

As a special case, if this Type is actually a primitive type, raw_kind() will return 0xffff.

Source

pub fn parse(&self) -> Result<TypeData<'t>>

Parse this Type into a TypeData.

§Errors
  • Error::UnimplementedTypeKind(kind) if the type record isn’t currently understood by this library
  • Error::UnexpectedEof if the type record is malformed

Trait Implementations§

Source§

impl<'t> Clone for Type<'t>

Source§

fn clone(&self) -> Type<'t>

Returns a duplicate 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> Debug for Type<'t>

Source§

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

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

impl<'t> PartialEq for Type<'t>

Source§

fn eq(&self, other: &Type<'t>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl<'t> Copy for Type<'t>

Source§

impl<'t> StructuralPartialEq for Type<'t>

Auto Trait Implementations§

§

impl<'t> Freeze for Type<'t>

§

impl<'t> RefUnwindSafe for Type<'t>

§

impl<'t> Send for Type<'t>

§

impl<'t> Sync for Type<'t>

§

impl<'t> Unpin for Type<'t>

§

impl<'t> UnwindSafe for Type<'t>

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

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

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

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