aboutsummaryrefslogtreecommitdiff
path: root/tests/unit
diff options
context:
space:
mode:
authoreldritch horrors <pennae@lix.systems>2024-06-16 23:10:09 +0200
committereldritch horrors <pennae@lix.systems>2024-06-17 19:46:44 +0000
commitbcb774688feea4e1fc7919d4890361f4f8ea1f60 (patch)
treed89d43aed2a58040254f1aa18562f787b439b960 /tests/unit
parentad5366c2ad43216ac9a61ccb1477ff9859d1a75c (diff)
libexpr: add expr memory management
with the prepatory work done this mostly means turning plain pointers into unique_ptrs, with all the associated churn that necessitates. we might want to change some of these to box_ptrs at some point as well, but that would be a semantic change that isn't fully appropriate yet. Change-Id: I0c238c118617420650432f4ed45569baa3e3f413
Diffstat (limited to 'tests/unit')
-rw-r--r--tests/unit/libexpr/value/print.cc17
1 files changed, 6 insertions, 11 deletions
diff --git a/tests/unit/libexpr/value/print.cc b/tests/unit/libexpr/value/print.cc
index feabc07c1..cdbc8f8f9 100644
--- a/tests/unit/libexpr/value/print.cc
+++ b/tests/unit/libexpr/value/print.cc
@@ -113,10 +113,8 @@ TEST_F(ValuePrintingTests, vLambda)
};
PosTable::Origin origin = state.positions.addOrigin(std::monostate(), 1);
auto posIdx = state.positions.add(origin, 0);
- auto body = ExprInt(0);
- auto formals = Formals {};
- ExprLambda eLambda(posIdx, createSymbol("a"), &formals, &body);
+ ExprLambda eLambda(posIdx, createSymbol("a"), std::make_unique<Formals>(), std::make_unique<ExprInt>(0));
Value vLambda;
vLambda.mkLambda(&env, &eLambda);
@@ -515,11 +513,10 @@ TEST_F(ValuePrintingTests, ansiColorsDerivationError)
TEST_F(ValuePrintingTests, ansiColorsAssert)
{
- ExprVar eFalse(state.symbols.create("false"));
- eFalse.bindVars(state, state.staticBaseEnv);
- ExprInt eInt(1);
-
- ExprAssert expr(noPos, &eFalse, &eInt);
+ ExprAssert expr(noPos,
+ std::make_unique<ExprVar>(state.symbols.create("false")),
+ std::make_unique<ExprInt>(1));
+ expr.bindVars(state, state.staticBaseEnv);
Value v;
state.mkThunk_(v, expr);
@@ -561,10 +558,8 @@ TEST_F(ValuePrintingTests, ansiColorsLambda)
};
PosTable::Origin origin = state.positions.addOrigin(std::monostate(), 1);
auto posIdx = state.positions.add(origin, 0);
- auto body = ExprInt(0);
- auto formals = Formals {};
- ExprLambda eLambda(posIdx, createSymbol("a"), &formals, &body);
+ ExprLambda eLambda(posIdx, createSymbol("a"), std::make_unique<Formals>(), std::make_unique<ExprInt>(0));
Value vLambda;
vLambda.mkLambda(&env, &eLambda);