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(NodeId, Span, BuiltinBound),
FieldSized,
SharedStatic,
BuiltinDerivedObligation(DerivedObligationCause<'tcx>),
ImplDerivedObligation(DerivedObligationCause<'tcx>),
CompareImplMethodObligation,
}Unstable (
rustc_private)Variants
MiscObligationUnstable (
rustc_private)Not well classified or should be obvious from span.
SliceOrArrayElemUnstable (
rustc_private)A slice or array is WF only if T: Sized
TupleElemUnstable (
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.
AssignmentLhsSizedUnstable (
rustc_private)Various cases where expressions must be sized/copy/etc:
StructInitializerSizedUnstable (
rustc_private)VariableType(NodeId)Unstable (
rustc_private)ReturnTypeUnstable (
rustc_private)RepeatVecUnstable (
rustc_private)ClosureCapture(NodeId, Span, BuiltinBound)Unstable (
rustc_private)FieldSizedUnstable (
rustc_private)Unstable (
rustc_private)BuiltinDerivedObligation(DerivedObligationCause<'tcx>)Unstable (
rustc_private)ImplDerivedObligation(DerivedObligationCause<'tcx>)Unstable (
rustc_private)CompareImplMethodObligationUnstable (
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]
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