Enum rustdoc::clean::types::Type[][src]

pub(crate) enum Type {
Show variants ResolvedPath { path: Path, param_names: Option<Vec<GenericBound>>, did: DefId, is_generic: bool, }, Generic(Symbol), Primitive(PrimitiveType), BareFunction(Box<BareFunctionDecl>), Tuple(Vec<Type>), Slice(Box<Type>), Array(Box<Type>, String), Never, RawPointer(MutabilityBox<Type>), BorrowedRef { lifetime: Option<Lifetime>, mutability: Mutability, type_: Box<Type>, }, QPath { name: Symbol, self_type: Box<Type>, trait_: Box<Type>, }, Infer, ImplTrait(Vec<GenericBound>),
}
Expand description

A representation of a type suitable for hyperlinking purposes. Ideally, one can get the original type out of the AST/TyCtxt given one of these, if more information is needed. Most importantly, it does not preserve mutability or boxes.

Variants

ResolvedPath
Expand description

Structs/enums/traits (most that would be an hir::TyKind::Path).

Show fields

Fields of ResolvedPath

path: Pathparam_names: Option<Vec<GenericBound>>did: DefIdis_generic: bool
Expand description

true if is a T::Name path for associated types.

Generic(Symbol)
Expand description

For parameterized types, so the consumer of the JSON don’t go looking for types which don’t exist anywhere.

Primitive(PrimitiveType)
Expand description

Primitives are the fixed-size numeric types (plus int/usize/float), char, arrays, slices, and tuples.

BareFunction(Box<BareFunctionDecl>)
Expand description

extern "ABI" fn

Tuple(Vec<Type>)
Slice(Box<Type>)
Array(Box<Type>, String)
Expand description

The String field is about the size or the constant representing the array’s length.

Never
RawPointer(MutabilityBox<Type>)
BorrowedRef
Show fields

Fields of BorrowedRef

lifetime: Option<Lifetime>mutability: Mutabilitytype_: Box<Type>
QPath
Show fields

Fields of QPath

name: Symbolself_type: Box<Type>trait_: Box<Type>
Infer
ImplTrait(Vec<GenericBound>)

Implementations

impl Type[src]

pub(crate) fn primitive_type(&self) -> Option<PrimitiveType>[src]

pub(crate) fn is_generic(&self) -> bool[src]

pub(crate) fn is_self_type(&self) -> bool[src]

pub(crate) fn generics(&self) -> Option<Vec<&Type>>[src]

pub(crate) fn bindings(&self) -> Option<&[TypeBinding]>[src]

pub(crate) fn is_full_generic(&self) -> bool[src]

pub(crate) fn is_primitive(&self) -> bool[src]

pub(crate) fn projection(&self) -> Option<(&Type, DefId, Symbol)>[src]

impl Type[src]

fn inner_def_id(&self, cache: Option<&Cache>) -> Option<DefId>[src]

impl Type[src]

pub(crate) fn print<'b, 'a: 'b, 'tcx: 'a>(
    &'a self,
    cx: &'a Context<'tcx>
) -> impl Display + 'b + Captures<'tcx>
[src]

Trait Implementations

impl Clean<Type> for (TraitRef<'_>, &[TypeBinding])[src]

fn clean(&self, cx: &mut DocContext<'_>) -> Type[src]

impl<'tcx> Clean<Type> for ProjectionTy<'tcx>[src]

fn clean(&self, cx: &mut DocContext<'_>) -> Type[src]

impl Clean<Type> for TraitRef<'_>[src]

fn clean(&self, cx: &mut DocContext<'_>) -> Type[src]

impl Clean<Type> for Ty<'_>[src]

fn clean(&self, cx: &mut DocContext<'_>) -> Type[src]

impl<'tcx> Clean<Type> for Ty<'tcx>[src]

fn clean(&self, cx: &mut DocContext<'_>) -> Type[src]

impl Clone for Type[src]

fn clone(&self) -> Type[src]

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)1.0.0[src]

Performs copy-assignment from source. Read more

impl Debug for Type[src]

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

Formats the value using the given formatter. Read more

impl FromWithTcx<Type> for Type[src]

fn from_tcx(ty: Type, tcx: TyCtxt<'_>) -> Self[src]

impl GetDefId for Type[src]

fn def_id(&self) -> Option<DefId>[src]

Use this method to get the DefId of a clean AST node. This will return None when called on a primitive clean::Type. Use Self::def_id_full if you want to include primitives. Read more

fn def_id_full(&self, cache: &Cache) -> Option<DefId>[src]

Use this method to get the DefId of a clean AST node, including PrimitiveTypes. Read more

impl Hash for Type[src]

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

Feeds this value into the given Hasher. Read more

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

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

impl PartialEq<Type> for Type[src]

fn eq(&self, other: &Type) -> bool[src]

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, other: &Type) -> bool[src]

This method tests for !=.

impl Eq for Type[src]

impl StructuralEq for Type[src]

impl StructuralPartialEq for Type[src]

Auto Trait Implementations

impl RefUnwindSafe for Type

impl Send for Type

impl Sync for Type

impl Unpin for Type

impl UnwindSafe for Type

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T> Instrument for T[src]

fn instrument(self, span: Span) -> Instrumented<Self>[src]

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

fn in_current_span(self) -> Instrumented<Self>[src]

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

pub fn to_owned(&self) -> T[src]

Creates owned data from borrowed data, usually by cloning. Read more

pub fn clone_into(&self, target: &mut T)[src]

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 

pub fn vzip(self) -> V

impl<T> WithConstness for T[src]

fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]

fn with_const(self) -> ConstnessAnd<Self>[src]

fn without_const(self) -> ConstnessAnd<Self>[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

Layout

Note: Most layout information is completely unstable and may be different between compiler versions and platforms. 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: 96 bytes