-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
dirOf "regression" in 2.23 #14513
Copy link
Copy link
Closed
Labels
buglanguageThe Nix expression language; parser, interpreter, primops, evaluation, etcThe Nix expression language; parser, interpreter, primops, evaluation, etcregressionSomething doesn't work anymoreSomething doesn't work anymore
Metadata
Metadata
Assignees
Labels
buglanguageThe Nix expression language; parser, interpreter, primops, evaluation, etcThe Nix expression language; parser, interpreter, primops, evaluation, etcregressionSomething doesn't work anymoreSomething doesn't work anymore
Fields
Give feedbackNo fields configured for issues without a type.
Describe the bug
The behavior of
builtins.dirOfgot silently changed in 2.23.Steps To Reproduce
It's pretty clear that the >=2.23 behaviour is more "correct" but we don't have the luxury of breaking bug-for-bug compatibility in stable interfaces. Also I think this got changed silently rather than intentionally, because the reason this works like this now is because
dirOfstarted delegating tostd::filesystemfor this, but since the evaluator must always follow theCanonPathsemantics of UNIX paths this isn't correct.Expected behavior
Bug-for-bug compat is retained. This behavior has existed since forever and should be restored.
Metadata
Not applicable.
Additional context
Checklist
Add 👍 to issues you find important.