Trait rustc_middle::ty::codec::RefDecodable [−][src]
pub trait RefDecodable<'tcx, D: TyDecoder<'tcx>> { fn decode(d: &mut D) -> Result<&'tcx Self, D::Error>; }
Expand description
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
Loading content...Implementations on Foreign Types
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [ValTree<'tcx>][src]
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [ValTree<'tcx>][src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [(Predicate<'tcx>, Span)][src]
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 [Node<'tcx>][src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [NodeId][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 [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 [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 [TypeckResults<'tcx>][src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [BorrowCheckResult<'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 [UnsafetyCheckResult][src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [CodeRegion][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 [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 [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]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [FxHashSet<LocalDefId>][src]
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for [FxHashSet<LocalDefId>][src]Implementors
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for CodeRegion[src]
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 Allocation[src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for BorrowCheckResult<'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 UnsafetyCheckResult[src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for Body<'tcx>[src]
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for Body<'tcx>[src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for AdtDef[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 Const<'tcx>[src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for TypeckResults<'tcx>[src]
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for TypeckResults<'tcx>[src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<BoundVariableKind>[src]
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<BoundVariableKind>[src]impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<Binder<'tcx, ExistentialPredicate<'tcx>>>[src]
impl<'tcx, D: TyDecoder<'tcx>> RefDecodable<'tcx, D> for List<Binder<'tcx, ExistentialPredicate<'tcx>>>[src]