Guard
enum Guard =
q{
auto __refs = reduce!((a, b) => a + b)(0, refs_);
scope (success) {
auto refs = reduce!((a, b) => a + b)(0, refs_);
assert((refs == __refs) || (refs == 1 + __refs), "leaking registers!");
}
auto __scopes = scopes_.length;
scope (success) {
auto scopes = scopes_.length;
assert(scopes == __scopes, "leaking scopes!");
}
};
vayne code emitter
manifest constantsstructs