Skip to content

C API: document whether values can be thunks #10673

Open
@Radvendii

Description

Is your feature request related to a problem? Please describe.

Right now, the documentation for nix_value_force() says

...all functions that return a value call it for you. The only place you will see a NIX_TYPE_THUNK is in the arguments that are passed to a PrimOp function you supplied to nix_alloc_primop

According to @roberth, this is not actually true (anymore?). Having an exhaustive list of places that you can see a NIX_TYPE_THUNK documented in one place is useful, but likely to get out of sync.

Describe the solution you'd like

We should instead document on each function that returns a value whether that value can be a thunk.

Describe alternatives you've considered

  • Keep the list on nix_value_force() up to date (error-prone)
  • Generate that list programmatically (seems complicated)
  • Enforce the documentation as it currently stands is accurate. That every function that returns a value forces it (maybe not desireable?)

Priorities

Add 👍 to issues you find important.

Metadata

Assignees

Labels

c apiNix as a C library with a stable interfacedocumentationfeatureFeature request or proposal

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions