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(Mutability, Box<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
Expand description
Structs/enums/traits (most that would be an hir::TyKind::Path).
Show fields
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
Expand description
The String field is about the size or the constant representing the array’s length.
RawPointer(Mutability, Box<Type>)Show fields
Fields of BorrowedRef
ImplTrait(Vec<GenericBound>)Implementations
impl Type[src]
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]
impl Type[src]Trait Implementations
impl Clean<Type> for (TraitRef<'_>, &[TypeBinding])[src]
impl Clean<Type> for (TraitRef<'_>, &[TypeBinding])[src]fn clean(&self, cx: &mut DocContext<'_>) -> Type[src]
impl<'tcx> Clean<Type> for ProjectionTy<'tcx>[src]
impl<'tcx> Clean<Type> for ProjectionTy<'tcx>[src]fn clean(&self, cx: &mut DocContext<'_>) -> Type[src]
impl GetDefId for Type[src]
impl GetDefId for Type[src]fn def_id(&self) -> Option<DefId>[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]
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 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> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> Instrument for T[src]
impl<T> Instrument for T[src]fn instrument(self, span: Span) -> Instrumented<Self>[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]
fn in_current_span(self) -> Instrumented<Self>[src]impl<T> ToOwned for T where
T: Clone, [src]
impl<T> ToOwned for T where
T: Clone, [src]type Owned = T
type Owned = TThe resulting type after obtaining ownership.
pub fn to_owned(&self) -> T[src]
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]
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<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>, pub fn vzip(self) -> V
impl<T> WithConstness for T[src]
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]
T: ?Sized,