// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details12#pragma once34#include "Luau/Constraint.h"5#include "Luau/TypeIds.h"6#include "Luau/Error.h"78#include <vector>910namespace Luau11{1213struct ConstraintSet14{15NotNull<Scope> rootScope;1617std::vector<ConstraintPtr> constraints;1819// The set of all free types created during constraint generation20TypeIds freeTypes;2122// Map a function's signature scope back to its signature type. Once we've23// dispatched all of the constraints pertaining to a particular free type,24// we use this mapping to generalize that free type.25DenseHashMap<Scope*, TypeId> scopeToFunction{nullptr};2627// It is pretty uncommon for constraint generation to itself produce errors, but it can happen.28std::vector<TypeError> errors;29};3031} // namespace Luau323334