fn implied_bounds_program_clauses<'a, I, Wc>(
builder: &'a mut ClauseBuilder<'_, I>,
ty: &Ty<I>,
where_clauses: Wc,
)
Expand description
Generates the “implied bounds” clauses for an applicative
type with the name type_name
. For example, if type_name
represents a struct S
that is declared like:
ⓘ
struct S<T> where T: Eq { }
then we would generate the rule:
FromEnv(T: Eq) :- FromEnv(S<T>)
§Parameters
- builder – the clause builder. We assume all the generic types from
S
are in scope. - type_name – in our example above, the name
S
- where_clauses – the list of where clauses declared on the type (
T: Eq
, in our example).