tracking issue: remove Value& out parameters #1136

Open
opened 2026-02-23 22:52:55 +00:00 by pennae · 1 comment
Owner

main has pretty resonable support for returning values directly since pointer tagging happened. we should remove out parameters from all signatures and return proper values instead.

  • Expr::eval
  • primops
  • EvalState::callFunction
  • EvalState::autoCallFunction
  • EvalState::concatLists
  • EvalState::eval*
  • EvalState::mk*
  • Evaluator::evalLazily
  • getDerivation
  • parseJSON

and numerous others probably

`main` has pretty resonable support for returning values directly since pointer tagging happened. we should remove out parameters from all signatures and return proper values instead. - [ ] Expr::eval - [ ] primops - [ ] EvalState::callFunction - [ ] EvalState::autoCallFunction - [ ] EvalState::concatLists - [ ] EvalState::eval\* - [ ] EvalState::mk\* - [ ] Evaluator::evalLazily - [ ] getDerivation - [ ] parseJSON and numerous others probably
Member

This issue was mentioned on Gerrit on the following CLs:

  • comment in cl/5219 ("libexpr: migrate Expr::eval to return a Value, take 2")
<!-- GERRIT_LINKBOT: {"cls": [{"backlink": "https://gerrit.lix.systems/c/lix/+/5219", "number": 5219, "kind": "comment"}], "cl_meta": {"5219": {"change_title": "libexpr: migrate Expr::eval to return a Value, take 2"}}} --> This issue was mentioned on Gerrit on the following CLs: * comment in [cl/5219](https://gerrit.lix.systems/c/lix/+/5219) ("libexpr: migrate Expr::eval to return a Value, take 2")
Sign in to join this conversation.
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lix-project/lix#1136
No description provided.