Enum rustc_typeck::check::method::probe::CandidateKind [−][src]
enum CandidateKind<'tcx> {
InherentImplCandidate(SubstsRef<'tcx>, Vec<PredicateObligation<'tcx>>),
ObjectCandidate,
TraitCandidate(TraitRef<'tcx>),
WhereClauseCandidate(PolyTraitRef<'tcx>),
}
Variants
InherentImplCandidate(SubstsRef<'tcx>, Vec<PredicateObligation<'tcx>>)
Tuple Fields of InherentImplCandidate
0: SubstsRef<'tcx>
1: Vec<PredicateObligation<'tcx>>
TraitCandidate(TraitRef<'tcx>)
Tuple Fields of TraitCandidate
0: TraitRef<'tcx>
WhereClauseCandidate(PolyTraitRef<'tcx>)
Tuple Fields of WhereClauseCandidate
0: PolyTraitRef<'tcx>
Trait Implementations
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for CandidateKind<'tcx>
impl<'tcx> !Send for CandidateKind<'tcx>
impl<'tcx> !Sync for CandidateKind<'tcx>
impl<'tcx> Unpin for CandidateKind<'tcx>
impl<'tcx> !UnwindSafe for CandidateKind<'tcx>
Blanket Implementations
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 40 bytes
Size for each variant:
InherentImplCandidate
: 32 bytesObjectCandidate
: 0 bytesTraitCandidate
: 16 bytesWhereClauseCandidate
: 24 bytes