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

pub trait RefDecodable<'tcx, D: TyDecoder<'tcx>> {
    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

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

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 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 Allocation[src]

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for Body<'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 AdtDef[src]

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

impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<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 TypeckResults<'tcx>[src]

Loading content...