pub(crate) type Selection<'db> = ImplSource<'db, Obligation<'db, Predicate<'db>>>;Aliased Type§
pub(crate) enum Selection<'db> {
UserDefined(ImplSourceUserDefinedData<'db, Obligation<'db, Predicate<'db>>>),
Param(Vec<Obligation<'db, Predicate<'db>>>),
Builtin(BuiltinImplSource, Vec<Obligation<'db, Predicate<'db>>>),
}Variants§
UserDefined(ImplSourceUserDefinedData<'db, Obligation<'db, Predicate<'db>>>)
ImplSource identifying a particular impl.
Param(Vec<Obligation<'db, Predicate<'db>>>)
Successful resolution to an obligation provided by the caller
for some type parameter. The Vec<N> represents the
obligations incurred from normalizing the where-clause (if
any).
Builtin(BuiltinImplSource, Vec<Obligation<'db, Predicate<'db>>>)
Successful resolution for a builtin impl.