pub enum Type<'a> {
Basic(BasicType),
Named(Rc<Path<'a>>),
Array(Rc<Type<'a>>, Rc<Const<'a>>),
Slice(Rc<Type<'a>>),
Tuple(Vec<Rc<Type<'a>>>),
Ref {
lifetime: u64,
type_: Rc<Type<'a>>,
},
RefMut {
lifetime: u64,
type_: Rc<Type<'a>>,
},
PtrConst(Rc<Type<'a>>),
PtrMut(Rc<Type<'a>>),
Fn(FnSig<'a>),
DynTrait {
dyn_bounds: DynBounds<'a>,
lifetime: u64,
},
}Variants§
Basic(BasicType)
Named(Rc<Path<'a>>)
Array(Rc<Type<'a>>, Rc<Const<'a>>)
Slice(Rc<Type<'a>>)
Tuple(Vec<Rc<Type<'a>>>)
Ref
RefMut
PtrConst(Rc<Type<'a>>)
PtrMut(Rc<Type<'a>>)
Fn(FnSig<'a>)
DynTrait
Implementations§
Trait Implementations§
Source§impl<'a> Ord for Type<'a>
impl<'a> Ord for Type<'a>
Source§impl<'a> PartialOrd for Type<'a>
impl<'a> PartialOrd for Type<'a>
impl<'a> Eq for Type<'a>
impl<'a> StructuralPartialEq for Type<'a>
Auto Trait Implementations§
impl<'a> Freeze for Type<'a>
impl<'a> RefUnwindSafe for Type<'a>
impl<'a> !Send for Type<'a>
impl<'a> !Sync for Type<'a>
impl<'a> Unpin for Type<'a>
impl<'a> UnwindSafe for Type<'a>
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