[−][src]Trait rustc_middle::ty::codec::RefDecodable

pub trait RefDecodable<'tcx, D: TyDecoder<'tcx>> {
    pub fn decode(d: &mut D) -> Result<&'tcx Self, D::Error>;
}

Trait for decoding to a reference.

This is a separate trait from Decodable so that we can implement it for upstream types, such as FxHashSet.

The TyDecodable derive macro will use this trait for fields that are references (and don't use a type alias to hide that).

Decodable can still be implemented in cases where Decodable is required by a trait bound.

Required methods

pub fn decode(d: &mut D) -> Result<&'tcx Self, D::Error>[src]

Loading content...

Implementations on Foreign Types

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [(Predicate<'tcx>, Span)][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [Node<'tcx>][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [NodeId][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [Body<'tcx>][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for IndexVec<Promoted, Body<'tcx>>[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [IndexVec<Promoted, Body<'tcx>>][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [TypeckResults<'tcx>][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [BorrowCheckResult<'tcx>][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [UnsafetyCheckResult][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [CodeRegion][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for InlineAsmTemplatePiece[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [InlineAsmTemplatePiece][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for Span[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [Span][src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for FxHashSet<LocalDefId>[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [FxHashSet<LocalDefId>][src]

Loading content...

Implementors

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for CodeRegion[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for Allocation[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for BorrowCheckResult<'tcx>[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for UnsafetyCheckResult[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for Body<'tcx>[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for Const<'tcx>[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for TypeckResults<'tcx>[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<Binder<ExistentialPredicate<'tcx>>>[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<Ty<'tcx>>[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for AdtDef[src]

Loading content...