Expand description
Faithful port of Luau::detail::Node (Analysis/src/TopoSortStatements.cpp:78).
struct Node : Arcs
{
std::optional<Identifier> name;
AstStat* element;
Node(const std::optional<Identifier>& name, AstStat* el)
: name(name), element(el) {}
};C++ Node publicly inherits Arcs, so node->provides / node->depends
name the base’s sets directly. Rust has no struct inheritance, so the two
Arcs fields are flattened into Node (the only observable use of the base
is node->provides / node->depends). A separate Arcs
value is still used by drain to build a filtered copy of the connectivity.