Skip to main content

enabled

Function enabled 

Source
pub fn enabled() -> bool
Expand description

Whether plan-driven attrset construction is enabled. Default: yes.

Flipped from opt-in to opt-out on 2026-08-18, on this evidence:

  • every wrong-answer shape in the class matches nix, including the acceptance case { a = rec { b = c+1; d = 2; }; a.c = d+3; }.a.b -> 6, which needs mutual recursion ACROSS the merge boundary;
  • a fleet scan of 4562 .nix files found ZERO false rejects — the one rejection is a file nix-instantiate --parse also refuses;
  • sui perf-seal moved DOWN or held on all three attr-merge rows (dotted full-set leaf deep-merge 6 -> 5), which is what confirms the splice happens at PARSE time rather than adding eval work;
  • the suites are green both ways.

The latch is KEPT, deliberately, in the SUI_SCOPE_NARROW spirit: SUI_NORMALIZE=0 restores the pre-plan construction path, so a divergence suspected to come from this pass can be bisected in one command instead of a revert. That is also why the old entry loops are not deleted yet.