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

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>[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...