Sema: Record pack expansion environments in the trail

This commit is contained in:
Slava Pestov
2024-10-01 14:44:26 -04:00
parent 9afb1a960b
commit f51bf3cf9d
5 changed files with 47 additions and 10 deletions

View File

@@ -341,7 +341,7 @@ void ConstraintSystem::applySolution(const Solution &solution) {
// Register the solutions's pack expansion environments.
for (const auto &expansion : solution.PackExpansionEnvironments) {
PackExpansionEnvironments.insert(expansion);
recordPackExpansionEnvironment(expansion.first, expansion.second);
}
// Register the solutions's pack environments.
@@ -672,7 +672,6 @@ ConstraintSystem::SolverScope::SolverScope(ConstraintSystem &cs)
numTypeVariables = cs.TypeVariables.size();
numFixes = cs.Fixes.size();
numPackExpansionEnvironments = cs.PackExpansionEnvironments.size();
numPackEnvironments = cs.PackEnvironments.size();
numPackElementGenericEnvironments = cs.PackElementGenericEnvironments.size();
numDefaultedConstraints = cs.DefaultedConstraints.size();
@@ -731,9 +730,6 @@ ConstraintSystem::SolverScope::~SolverScope() {
// constraints introduced by the current scope.
cs.solverState->rollback(this);
// Remove any pack expansion environments.
truncate(cs.PackExpansionEnvironments, numPackExpansionEnvironments);
// Remove any pack environments.
truncate(cs.PackEnvironments, numPackEnvironments);