[Nix#9730] nix-instantiate --eval
output is ambiguous #70
Labels
No labels
Area/build-packaging
Area/cli
Area/evaluator
Area/fetching
Area/flakes
Area/language
Area/profiles
Area/protocol
Area/releng
Area/remote-builds
Area/repl
Area/store
bug
crash 💥
Cross Compilation
devx
docs
Downstream Dependents
E/easy
E/hard
E/help wanted
E/reproducible
E/requires rearchitecture
imported
Needs Langver
OS/Linux
OS/macOS
performance
regression
release-blocker
RFD
stability
Status
blocked
Status
invalid
Status
postponed
Status
wontfix
testing
testing/flakey
ux
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lix-project/lix#70
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Upstream-Issue: NixOS/nix#9730
Describe the bug
nix-instantiate --eval
output is ambiguous and can be misleading.nix-instantiate
uses angle brackets like<CODE>
to represent placeholders; this is ambiguous because<CODE>
is valid Nix path syntax.This results in the unintuitive result that
nix-instantiate --parse
andnix-instantiate --eval
do not mirror each other or compose together. This also makesnix-instantiate --eval
output unsuitable for machine consumption.Steps To Reproduce
Expected behavior
Placeholders in
nix-instantiate
output should not be valid/parsable Nix expressions.If
nix-instantiate
's output used chevrons in the style ofnix repl
(e.g.,«code»
instead of<CODE>
), then attempting to parse them as Nix expressions would fail instead of producing an unrelated expression. @edolstra cited this reasoning when changing<REPEAT>
to«repeated»
innix-instantiate
output in732296ddc0
.nix-env --version
outputnix-env (Nix) 2.18.1
Additional context
#8671, #8672, #9606, "Is
<CODE>
innix-instantiate
part of the stable API?" on NixOS discoursePriorities
Add 👍 to issues you find important.