Enum syntax::ast::TyKind
[−]
[src]
pub enum TyKind {
Vec(P<Ty>),
FixedLengthVec(P<Ty>, P<Expr>),
Ptr(MutTy),
Rptr(Option<Lifetime>, MutTy),
BareFn(P<BareFnTy>),
Tup(Vec<P<Ty>>),
Path(Option<QSelf>, Path),
ObjectSum(P<Ty>, TyParamBounds),
PolyTraitRef(TyParamBounds),
Paren(P<Ty>),
Typeof(P<Expr>),
Infer,
Mac(Mac),
}rustc_private)The different kinds of types recognized by the compiler
Variants
Vec(P<Ty>)rustc_private)FixedLengthVec(P<Ty>, P<Expr>)rustc_private)A fixed length array ([T; n])
Ptr(MutTy)rustc_private)A raw pointer (*const T or *mut T)
Rptr(Option<Lifetime>, MutTy)rustc_private)A reference (&'a T or &'a mut T)
BareFn(P<BareFnTy>)rustc_private)A bare function (e.g. fn(usize) -> bool)
Tup(Vec<P<Ty>>)rustc_private)A tuple ((A, B, C, D,...))
Path(Option<QSelf>, Path)rustc_private)A path (module::module::...::Type), optionally
"qualified", e.g. <Vec<T> as SomeTrait>::SomeType.
Type parameters are stored in the Path itself
ObjectSum(P<Ty>, TyParamBounds)rustc_private)Something like A+B. Note that B must always be a path.
PolyTraitRef(TyParamBounds)rustc_private)A type like for<'a> Foo<&'a Bar>
Paren(P<Ty>)rustc_private)No-op; kept solely so that we can pretty-print faithfully
Typeof(P<Expr>)rustc_private)Unused for now
Inferrustc_private)TyKind::Infer means the type should be inferred instead of it having been specified. This can appear anywhere in a type.
Mac(Mac)rustc_private)Trait Implementations
Derived Implementations
impl Debug for TyKind[src]
impl Hash for TyKind[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher1.3.0
Feeds a slice of this type into the state provided.
impl Decodable for TyKind[src]
impl Encodable for TyKind[src]
impl Eq for TyKind[src]
impl PartialEq for TyKind[src]
fn eq(&self, __arg_0: &TyKind) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &TyKind) -> bool
This method tests for !=.
impl Clone for TyKind[src]
fn clone(&self) -> TyKind
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0
Performs copy-assignment from source. Read more