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

pub enum ObligationCauseCode<'tcx> {
    MiscObligation,
    SliceOrArrayElem,
    TupleElem,
    ProjectionWf(ProjectionTy<'tcx>),
    ItemObligation(DefId),
    ReferenceOutlivesReferent(Ty<'tcx>),
    ObjectTypeBound(Ty<'tcx>, &'tcx Region),
    ObjectCastObligation(Ty<'tcx>),
    AssignmentLhsSized,
    StructInitializerSized,
    VariableType(NodeId),
    ReturnType,
    RepeatVec,
    FieldSized,
    ConstSized,
    SharedStatic,
    BuiltinDerivedObligation(DerivedObligationCause<'tcx>),
    ImplDerivedObligation(DerivedObligationCause<'tcx>),
    CompareImplMethodObligation {
        item_name: Name,
        impl_item_def_id: DefId,
        trait_item_def_id: DefId,
        lint_id: Option<NodeId>,
    },
    ExprAssignable,
    MatchExpressionArm {
        arm_span: Span,
        source: MatchSource,
    },
    IfExpression,
    IfExpressionWithNoElse,
    EquatePredicate,
    MainFunctionType,
    StartFunctionType,
    IntrinsicType,
    MethodReceiver,
}
🔬 This is a nightly-only experimental API. (rustc_private)

Variants

🔬 This is a nightly-only experimental API. (rustc_private)

Not well classified or should be obvious from span.

🔬 This is a nightly-only experimental API. (rustc_private)

A slice or array is WF only if T: Sized

🔬 This is a nightly-only experimental API. (rustc_private)

A tuple is WF only if its middle elements are Sized

🔬 This is a nightly-only experimental API. (rustc_private)

This is the trait reference from the given projection

🔬 This is a nightly-only experimental API. (rustc_private)

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

🔬 This is a nightly-only experimental API. (rustc_private)

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

🔬 This is a nightly-only experimental API. (rustc_private)

A type like Box<Foo<'a> + 'b> is WF only if 'b: 'a.

🔬 This is a nightly-only experimental API. (rustc_private)

Obligation incurred due to an object cast.

🔬 This is a nightly-only experimental API. (rustc_private)

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

🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)

Fields of CompareImplMethodObligation

🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)

Fields of MatchExpressionArm

🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)
🔬 This is a nightly-only experimental API. (rustc_private)

Trait Implementations

impl<'a, 'tcx> Lift<'tcx> for ObligationCauseCode<'a>
[src]

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

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

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

🔬 This is a nightly-only experimental API. (rustc_private)

Indicates whether this value references only 'global' types/lifetimes that are the same regardless of what fn we are in. This is used for caching. Errs on the side of returning false. Read more

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

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

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

Formats the value using the given formatter.

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

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

This method tests for !=.

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