Function chalk_solve::clauses::env_elaborator::elaborate_env_clauses
source ยท pub(super) fn elaborate_env_clauses<I: Interner>(
db: &dyn RustIrDatabase<I>,
in_clauses: &[ProgramClause<I>],
out: &mut FxHashSet<ProgramClause<I>>,
environment: &Environment<I>,
)Expand description
When proving a FromEnv goal, we elaborate all FromEnv goals
found in the environment.
For example, when T: Clone is in the environment, we can prove
T: Copy by adding the clauses from trait Clone, which includes
the rule FromEnv(T: Copy) :- FromEnv(T: Clone)