stable_mir::ty

Struct Ty

Source
pub struct Ty(usize);

Tuple Fields§

§0: usize

Implementations§

Source§

impl Ty

Constructors for Ty.

Source

pub fn from_rigid_kind(kind: RigidTy) -> Ty

Create a new type from a given kind.

Source

pub fn try_new_array(elem_ty: Ty, size: u64) -> Result<Ty, Error>

Create a new array type.

Source

pub fn new_array_with_const_len(elem_ty: Ty, len: TyConst) -> Ty

Create a new array type from Const length.

Source

pub fn new_ptr(pointee_ty: Ty, mutability: Mutability) -> Ty

Create a new pointer type.

Source

pub fn new_ref(reg: Region, pointee_ty: Ty, mutability: Mutability) -> Ty

Create a new reference type.

Source

pub fn new_tuple(tys: &[Ty]) -> Ty

Create a new pointer type.

Source

pub fn new_closure(def: ClosureDef, args: GenericArgs) -> Ty

Create a new closure type.

Source

pub fn new_coroutine( def: CoroutineDef, args: GenericArgs, mov: Movability, ) -> Ty

Create a new coroutine type.

Source

pub fn new_coroutine_closure(def: CoroutineClosureDef, args: GenericArgs) -> Ty

Create a new closure type.

Source

pub fn new_box(inner_ty: Ty) -> Ty

Create a new box type that represents Box<T>, for the given inner type T.

Source

pub fn usize_ty() -> Ty

Create a type representing usize.

Source

pub fn bool_ty() -> Ty

Create a type representing bool.

Source

pub fn signed_ty(inner: IntTy) -> Ty

Create a type representing a signed integer.

Source

pub fn unsigned_ty(inner: UintTy) -> Ty

Create a type representing an unsigned integer.

Source

pub fn layout(self) -> Result<Layout, Error>

Get a type layout.

Source§

impl Ty

Source

pub fn kind(&self) -> TyKind

Trait Implementations§

Source§

impl Clone for Ty

Source§

fn clone(&self) -> Ty

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 Debug for Ty

Source§

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

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

impl Display for Ty

Source§

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

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

impl Hash for Ty

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IndexedVal for Ty

Source§

fn to_val(index: usize) -> Self

Source§

fn to_index(&self) -> usize

Source§

impl PartialEq for Ty

Source§

fn eq(&self, other: &Ty) -> 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 Serialize for Ty

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Visitable for Ty

Source§

fn visit<V: Visitor>(&self, visitor: &mut V) -> ControlFlow<V::Break>

Source§

fn super_visit<V: Visitor>(&self, visitor: &mut V) -> ControlFlow<V::Break>

Source§

impl Copy for Ty

Source§

impl Eq for Ty

Source§

impl StructuralPartialEq for Ty

Auto Trait Implementations§

§

impl Freeze for Ty

§

impl RefUnwindSafe for Ty

§

impl Send for Ty

§

impl Sync for Ty

§

impl Unpin for Ty

§

impl UnwindSafe for Ty

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, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 8 bytes