Enum rustc::traits::ObligationCauseCode [] [src]

pub enum ObligationCauseCode<'tcx> {
    MiscObligation,
    SliceOrArrayElem,
    TupleElem,
    ProjectionWf(ProjectionTy<'tcx>),
    ItemObligation(DefId),
    ReferenceOutlivesReferent(Ty<'tcx>),
    ObjectCastObligation(Ty<'tcx>),
    AssignmentLhsSized,
    StructInitializerSized,
    VariableType(NodeId),
    ReturnType,
    RepeatVec,
    ClosureCapture(NodeIdSpanBuiltinBound),
    FieldSized,
    SharedStatic,
    BuiltinDerivedObligation(DerivedObligationCause<'tcx>),
    ImplDerivedObligation(DerivedObligationCause<'tcx>),
    CompareImplMethodObligation,
}
Unstable (rustc_private)

Variants

MiscObligation
Unstable (rustc_private)

Not well classified or should be obvious from span.

SliceOrArrayElem
Unstable (rustc_private)

A slice or array is WF only if T: Sized

TupleElem
Unstable (rustc_private)

A tuple is WF only if its middle elements are Sized

ProjectionWf(ProjectionTy<'tcx>)
Unstable (rustc_private)

This is the trait reference from the given projection

ItemObligation(DefId)
Unstable (rustc_private)

In an impl of trait X for type Y, type Y must also implement all supertraits of X.

ReferenceOutlivesReferent(Ty<'tcx>)
Unstable (rustc_private)

A type like &'a T is WF only if T: 'a.

ObjectCastObligation(Ty<'tcx>)
Unstable (rustc_private)

Obligation incurred due to an object cast.

AssignmentLhsSized
Unstable (rustc_private)

Various cases where expressions must be sized/copy/etc:

StructInitializerSized
Unstable (rustc_private)
VariableType(NodeId)
Unstable (rustc_private)
ReturnType
Unstable (rustc_private)
RepeatVec
Unstable (rustc_private)
ClosureCapture(NodeIdSpanBuiltinBound)
Unstable (rustc_private)
FieldSized
Unstable (rustc_private)
SharedStatic
Unstable (rustc_private)
BuiltinDerivedObligation(DerivedObligationCause<'tcx>)
Unstable (rustc_private)
ImplDerivedObligation(DerivedObligationCause<'tcx>)
Unstable (rustc_private)
CompareImplMethodObligation
Unstable (rustc_private)

Trait Implementations

Derived Implementations

impl<'tcx> Eq for ObligationCauseCode<'tcx>
[src]

impl<'tcx> PartialEq for ObligationCauseCode<'tcx>
[src]

fn eq(&self, __arg_0: &ObligationCauseCode<'tcx>) -> bool

This method tests for self and other values to be equal, and is used by ==. Read more

fn ne(&self, __arg_0: &ObligationCauseCode<'tcx>) -> bool

This method tests for !=.

impl<'tcx> Debug for ObligationCauseCode<'tcx>
[src]

fn fmt(&self, __arg_0: &mut Formatter) -> Result

Formats the value using the given formatter.

impl<'tcx> Clone for ObligationCauseCode<'tcx>
[src]

fn clone(&self) -> ObligationCauseCode<'tcx>

Returns a copy of the value. Read more

fn clone_from(&mut self, source: &Self)
1.0.0

Performs copy-assignment from source. Read more