@@ -432,7 +432,7 @@ class ConstraintSatisfactionChecker {
432432 // XXX: It is SLOW! Use it very carefully.
433433 std::optional<MultiLevelTemplateArgumentList> SubstitutionInTemplateArguments (
434434 const NormalizedConstraintWithParamMapping &Constraint,
435- MultiLevelTemplateArgumentList MLTAL,
435+ const MultiLevelTemplateArgumentList & MLTAL,
436436 llvm::SmallVector<TemplateArgument> &SubstitutedOuterMost);
437437
438438 ExprResult EvaluateSlow (const AtomicConstraint &Constraint,
@@ -564,8 +564,8 @@ ExprResult ConstraintSatisfactionChecker::EvaluateAtomicConstraint(
564564std::optional<MultiLevelTemplateArgumentList>
565565ConstraintSatisfactionChecker::SubstitutionInTemplateArguments (
566566 const NormalizedConstraintWithParamMapping &Constraint,
567- MultiLevelTemplateArgumentList MLTAL,
568- llvm::SmallVector<TemplateArgument> &SubstitutedOuterMost ) {
567+ const MultiLevelTemplateArgumentList & MLTAL,
568+ llvm::SmallVector<TemplateArgument> &SubstitutedOutermost ) {
569569
570570 if (!Constraint.hasParameterMapping ())
571571 return std::move (MLTAL);
@@ -607,27 +607,27 @@ ConstraintSatisfactionChecker::SubstitutionInTemplateArguments(
607607 // The empty MLTAL situation should only occur when evaluating non-dependent
608608 // constraints.
609609 if (MLTAL.getNumSubstitutedLevels ())
610- SubstitutedOuterMost =
610+ SubstitutedOutermost =
611611 llvm::to_vector_of<TemplateArgument>(MLTAL.getOutermost ());
612612 unsigned Offset = 0 ;
613613 for (unsigned I = 0 , MappedIndex = 0 ; I < Used.size (); I++) {
614614 TemplateArgument Arg;
615615 if (Used[I])
616616 Arg = S.Context .getCanonicalTemplateArgument (
617617 CTAI.SugaredConverted [MappedIndex++]);
618- if (I < SubstitutedOuterMost .size ()) {
619- SubstitutedOuterMost [I] = Arg;
618+ if (I < SubstitutedOutermost .size ()) {
619+ SubstitutedOutermost [I] = Arg;
620620 Offset = I + 1 ;
621621 } else {
622- SubstitutedOuterMost .push_back (Arg);
623- Offset = SubstitutedOuterMost .size ();
622+ SubstitutedOutermost .push_back (Arg);
623+ Offset = SubstitutedOutermost .size ();
624624 }
625625 }
626- if (Offset < SubstitutedOuterMost .size ())
627- SubstitutedOuterMost .erase (SubstitutedOuterMost .begin () + Offset);
626+ if (Offset < SubstitutedOutermost .size ())
627+ SubstitutedOutermost .erase (SubstitutedOutermost .begin () + Offset);
628628
629629 MultiLevelTemplateArgumentList SubstitutedTemplateArgs;
630- SubstitutedTemplateArgs.addOuterTemplateArguments (TD, SubstitutedOuterMost ,
630+ SubstitutedTemplateArgs.addOuterTemplateArguments (TD, SubstitutedOutermost ,
631631 /* Final=*/ false );
632632 return std::move (SubstitutedTemplateArgs);
633633}
@@ -636,9 +636,9 @@ ExprResult ConstraintSatisfactionChecker::EvaluateSlow(
636636 const AtomicConstraint &Constraint,
637637 const MultiLevelTemplateArgumentList &MLTAL) {
638638
639- llvm::SmallVector<TemplateArgument> SubstitutedOuterMost ;
639+ llvm::SmallVector<TemplateArgument> SubstitutedOutermost ;
640640 std::optional<MultiLevelTemplateArgumentList> SubstitutedArgs =
641- SubstitutionInTemplateArguments (Constraint, MLTAL, SubstitutedOuterMost );
641+ SubstitutionInTemplateArguments (Constraint, MLTAL, SubstitutedOutermost );
642642 if (!SubstitutedArgs) {
643643 Satisfaction.IsSatisfied = false ;
644644 return ExprEmpty ();
@@ -786,13 +786,13 @@ ExprResult ConstraintSatisfactionChecker::EvaluateSlow(
786786 FoldExpandedConstraint::FoldOperatorKind::And;
787787 unsigned EffectiveDetailEndIndex = Satisfaction.Details .size ();
788788
789- llvm::SmallVector<TemplateArgument> SubstitutedOuterMost ;
789+ llvm::SmallVector<TemplateArgument> SubstitutedOutermost ;
790790 // FIXME: Is PackSubstitutionIndex correct?
791791 llvm::SaveAndRestore _ (PackSubstitutionIndex, S.ArgPackSubstIndex );
792792 std::optional<MultiLevelTemplateArgumentList> SubstitutedArgs =
793793 SubstitutionInTemplateArguments (
794794 static_cast <const NormalizedConstraintWithParamMapping &>(Constraint),
795- MLTAL, SubstitutedOuterMost );
795+ MLTAL, SubstitutedOutermost );
796796 if (!SubstitutedArgs) {
797797 Satisfaction.IsSatisfied = false ;
798798 return ExprError ();
@@ -880,9 +880,9 @@ ExprResult ConstraintSatisfactionChecker::EvaluateSlow(
880880 const MultiLevelTemplateArgumentList &MLTAL, unsigned Size) {
881881 const ConceptReference *ConceptId = Constraint.getConceptId ();
882882
883- llvm::SmallVector<TemplateArgument> SubstitutedOuterMost ;
883+ llvm::SmallVector<TemplateArgument> SubstitutedOutermost ;
884884 std::optional<MultiLevelTemplateArgumentList> SubstitutedArgs =
885- SubstitutionInTemplateArguments (Constraint, MLTAL, SubstitutedOuterMost );
885+ SubstitutionInTemplateArguments (Constraint, MLTAL, SubstitutedOutermost );
886886
887887 if (!SubstitutedArgs) {
888888 Satisfaction.IsSatisfied = false ;
0 commit comments