pub enum TypeExpr {
Path {
segments: Vec<String>,
generics: Vec<TypeExpr>,
},
Reference {
is_mut: bool,
lifetime: Option<String>,
inner: Box<TypeExpr>,
},
Tuple(Vec<TypeExpr>),
ImplTrait {
bounds: String,
},
Unknown(String),
}Expand description
Representation of Rust types encountered in signatures/fields.
Variants§
Path
A bare path with optional generic arguments (e.g. Result<T, E>).
Reference
&'a mut T style references.
Tuple(Vec<TypeExpr>)
Tuple types such as (A, B).
ImplTrait
impl Trait sugar captured verbatim.
Unknown(String)
Fallback for nodes we do not yet model.
Implementations§
Trait Implementations§
impl Eq for TypeExpr
impl StructuralPartialEq for TypeExpr
Auto Trait Implementations§
impl Freeze for TypeExpr
impl RefUnwindSafe for TypeExpr
impl Send for TypeExpr
impl Sync for TypeExpr
impl Unpin for TypeExpr
impl UnwindSafe for TypeExpr
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more