@@ -381,43 +381,45 @@ class Constraint final : public llvm::ilist_node<Constraint>,
381381 void *operator new (size_t ) = delete ;
382382
383383 Constraint (ConstraintKind kind, ArrayRef<Constraint *> constraints,
384- ConstraintLocator *locator, ArrayRef<TypeVariableType *> typeVars);
384+ ConstraintLocator *locator,
385+ SmallPtrSetImpl<TypeVariableType *> &typeVars);
385386
386387 // / Construct a new constraint.
387388 Constraint (ConstraintKind kind, Type first, Type second,
388389 ConstraintLocator *locator,
389- ArrayRef <TypeVariableType *> typeVars);
390+ SmallPtrSetImpl <TypeVariableType *> & typeVars);
390391
391392 // / Construct a new constraint.
392393 Constraint (ConstraintKind kind, Type first, Type second, Type third,
393394 ConstraintLocator *locator,
394- ArrayRef <TypeVariableType *> typeVars);
395+ SmallPtrSetImpl <TypeVariableType *> & typeVars);
395396
396397 // / Construct a new member constraint.
397398 Constraint (ConstraintKind kind, Type first, Type second, DeclNameRef member,
398399 DeclContext *useDC, FunctionRefKind functionRefKind,
399400 ConstraintLocator *locator,
400- ArrayRef <TypeVariableType *> typeVars);
401+ SmallPtrSetImpl <TypeVariableType *> & typeVars);
401402
402403 // / Construct a new value witness constraint.
403404 Constraint (ConstraintKind kind, Type first, Type second,
404405 ValueDecl *requirement, DeclContext *useDC,
405406 FunctionRefKind functionRefKind, ConstraintLocator *locator,
406- ArrayRef <TypeVariableType *> typeVars);
407+ SmallPtrSetImpl <TypeVariableType *> & typeVars);
407408
408409 // / Construct a new overload-binding constraint, which might have a fix.
409410 Constraint (Type type, OverloadChoice choice, DeclContext *useDC,
410411 ConstraintFix *fix, ConstraintLocator *locator,
411- ArrayRef <TypeVariableType *> typeVars);
412+ SmallPtrSetImpl <TypeVariableType *> & typeVars);
412413
413414 // / Construct a restricted constraint.
414415 Constraint (ConstraintKind kind, ConversionRestrictionKind restriction,
415416 Type first, Type second, ConstraintLocator *locator,
416- ArrayRef <TypeVariableType *> typeVars);
417-
417+ SmallPtrSetImpl <TypeVariableType *> & typeVars);
418+
418419 // / Construct a relational constraint with a fix.
419420 Constraint (ConstraintKind kind, ConstraintFix *fix, Type first, Type second,
420- ConstraintLocator *locator, ArrayRef<TypeVariableType *> typeVars);
421+ ConstraintLocator *locator,
422+ SmallPtrSetImpl<TypeVariableType *> &typeVars);
421423
422424 // / Retrieve the type variables buffer, for internal mutation.
423425 MutableArrayRef<TypeVariableType *> getTypeVariablesBuffer () {
0 commit comments