Skip to main content

Selection

Type Alias Selection 

Source
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.