pub enum RustType {
Show 18 variants
CVoid,
CInt {
unsigned: bool,
size: CIntegralSize,
},
CFloat(CFloatSize),
CAlias(Ident),
Array(Box<RustType>, usize),
Option(Box<RustType>),
Vec(Box<RustType>),
Unit,
I32,
U8,
SizeT,
Isize,
Usize,
TVar(TVar),
Never,
ExternFn(Vec<Box<RustType>>, bool, Box<RustType>),
Reference(RustMutability, Box<RustType>),
Pointer(Box<RustType>),
}Variants§
CVoid
CInt
CFloat(CFloatSize)
CAlias(Ident)
Array(Box<RustType>, usize)
Option(Box<RustType>)
Vec(Box<RustType>)
Unit
I32
U8
SizeT
Isize
Usize
TVar(TVar)
Never
ExternFn(Vec<Box<RustType>>, bool, Box<RustType>)
Reference(RustMutability, Box<RustType>)
immutable reference
Pointer(Box<RustType>)
*mut T
Implementations§
Trait Implementations§
Source§impl UnifyValue for RustType
impl UnifyValue for RustType
Source§type Error = Error
type Error = Error
Defines the type to return when merging of two values fails.
If merging is infallible, use the special struct
NoError
found in this crate, which unlocks various more convenient
methods on the unification table.Source§fn unify_values(value1: &Self, value2: &Self) -> Result<Self, Self::Error>
fn unify_values(value1: &Self, value2: &Self) -> Result<Self, Self::Error>
Given two values, produce a new value that combines them.
If that is not possible, produce an error.
impl Eq for RustType
impl StructuralPartialEq for RustType
Auto Trait Implementations§
impl Freeze for RustType
impl RefUnwindSafe for RustType
impl !Send for RustType
impl !Sync for RustType
impl Unpin for RustType
impl UnwindSafe for RustType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more