Merge pull request #14453 from Radvendii/exprwith-alloc

libexpr: shrink ExprWith by 8 bytes
This commit is contained in:
John Ericson
2025-11-04 18:04:25 +00:00
committed by GitHub
2 changed files with 2 additions and 1 deletions

View File

@@ -637,8 +637,8 @@ struct ExprLet : Expr
struct ExprWith : Expr
{
PosIdx pos;
uint32_t prevWith;
Expr *attrs, *body;
size_t prevWith;
ExprWith * parentWith;
ExprWith(const PosIdx & pos, Expr * attrs, Expr * body)
: pos(pos)

View File

@@ -523,6 +523,7 @@ void ExprWith::bindVars(EvalState & es, const std::shared_ptr<const StaticEnv> &
prevWith = 0;
for (curEnv = env.get(), level = 1; curEnv; curEnv = curEnv->up.get(), level++)
if (curEnv->isWith) {
assert(level <= std::numeric_limits<uint32_t>::max());
prevWith = level;
break;
}