Added support for constraint satisfaction checking and partial ordering of constraints in constrained partial specialization and function template overloads. Depends on D41569.
- Adjusted constraint normalization to piecewise constraint substitution
- Normalized constraints are now represented as described in the standard (a non-substituted expression along with a list of "template arguments").
ClassTemplate is in the "to" context, i.e. it is already imported.
ExpectedExpr ConstraintsOrErr = import(D->getAssociatedConstraints()); if (!ConstraintsOrErr) return ConstraintsOrErr.takeError(); // ... ClassTemplate->findPartialSpecialization(TemplateArgs, *ConstraintsOrErr, InsertPos);
(The same below.)
This looks correct: PartSpec is the new instance (but this is not the best name for it, maybe PartialSpec2?).