Make sure some things aren't inherited.

This commit is contained in:
Alexander McCord 2024-05-24 10:49:05 -07:00
parent cf712b316a
commit dd65db40ee
2 changed files with 4 additions and 3 deletions

View file

@ -14,7 +14,8 @@ namespace Luau::EqSat
/// Each e-class is a set of e-nodes representing equivalent terms from a given language,
/// and an e-node is a function symbol paired with a list of children e-classes.
template<typename L, typename D>
struct EClass {
struct EClass final
{
Id id;
std::vector<L> nodes;
D data;
@ -28,7 +29,7 @@ struct EClass {
///
/// See <https://arxiv.org/pdf/2004.03082>.
template<typename L, typename N>
struct EGraph
struct EGraph final
{
// TODO: static_assert L <: Language
// TODO: static_assert N <: Analysis<L>

View file

@ -9,7 +9,7 @@ namespace Luau::EqSat
{
/// See <https://dl.acm.org/doi/pdf/10.1145/321879.321884>.
struct UnionFind
struct UnionFind final
{
Id makeSet();
Id find(Id id) const;