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)