fn assemble_candidates_from_predicates( predicates: &[Clause], obligation: &AliasTy, ctor: fn(_: ProjectionPredicate) -> Candidate, candidates: &mut Vec<Candidate>, )