Skip to content

Commit 0c9f9f7

Browse files
committed
Use a SmallSetVector to eliminate duplicates
1 parent 45824be commit 0c9f9f7

File tree

3 files changed

+5
-4
lines changed

3 files changed

+5
-4
lines changed

include/swift/Sema/ConstraintSystem.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2364,7 +2364,7 @@ class ConstraintSystem {
23642364
caseLabelItems;
23652365

23662366
/// The set of parameters that have been inferred to be 'isolated'.
2367-
llvm::SmallVector<ParamDecl *, 2> isolatedParams;
2367+
llvm::SmallSetVector<ParamDecl *, 2> isolatedParams;
23682368

23692369
/// Maps closure parameters to type variables.
23702370
llvm::DenseMap<const ParamDecl *, TypeVariableType *>

lib/Sema/CSSimplify.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8999,7 +8999,7 @@ bool ConstraintSystem::resolveClosure(TypeVariableType *typeVar,
89998999

90009000
// Note when a parameter is inferred to be isolated.
90019001
if (contextualParam->isIsolated() && !flags.isIsolated() && paramDecl)
9002-
isolatedParams.push_back(paramDecl);
9002+
isolatedParams.insert(paramDecl);
90039003

90049004
param =
90059005
param.withFlags(flags.withInOut(contextualParam->isInOut())

lib/Sema/CSSolver.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,8 @@ Solution ConstraintSystem::finalize() {
186186

187187
solution.solutionApplicationTargets = solutionApplicationTargets;
188188
solution.caseLabelItems = caseLabelItems;
189-
solution.isolatedParams = isolatedParams;
189+
solution.isolatedParams.clear();
190+
solution.isolatedParams.append(isolatedParams.begin(), isolatedParams.end());
190191

191192
for (const auto &transformed : resultBuilderTransformed) {
192193
solution.resultBuilderTransformed.insert(transformed);
@@ -294,7 +295,7 @@ void ConstraintSystem::applySolution(const Solution &solution) {
294295
}
295296

296297
for (auto param : solution.isolatedParams) {
297-
isolatedParams.push_back(param);
298+
isolatedParams.insert(param);
298299
}
299300

300301
for (const auto &transformed : solution.resultBuilderTransformed) {

0 commit comments

Comments
 (0)