diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index e2070d54626..4be4cfeea45 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -1091,10 +1091,9 @@ void EvalState::callPrimOp(Value & fun, Value & arg, Value & v, const Pos & pos) void EvalState::callFunction(Value & fun, Value & arg, Value & v, const Pos & pos) { - std::optional trace; - if (evalSettings.traceFunctionCalls) { - trace.emplace(pos); - } + std::unique_ptr trace; + if (evalSettings.traceFunctionCalls) + trace = std::make_unique(pos); forceValue(fun, pos);