Fix extendModules anonymous module numbering#177080
Closed
roberth wants to merge 2 commits intoNixOS:masterfrom
Closed
Fix extendModules anonymous module numbering#177080roberth wants to merge 2 commits intoNixOS:masterfrom
extendModules anonymous module numbering#177080roberth wants to merge 2 commits intoNixOS:masterfrom
Conversation
evalModules / extendModules has enough information to perform the numbering by itself, making extendModules safe and simplifying submoduleWith. The `extensionOffset` was supposed to be an implementation detail of `evalModules`/`extendModules` all along. Zooming out a bit, the number of `+` operations should match the number of `extendModules` calls, which can be more than the number of `submoduleWith` calls, which is less related to the problem being solved by `extensionOffset`, as it can defer that responsibility to `extendModules`.
13 tasks
Member
Author
|
This is insufficient. The keys still collide where they shouldn't, probably when more than one option value extends the modules in the same file. Adding |
roberth
added a commit
to hercules-ci/nixpkgs
that referenced
this pull request
Jun 13, 2022
Tried to make it work in NixOS#177080 but that still didn't solve all cases in practice (wip NixOS#176557). Found a simpler solution: don't number anonymous modules at all. Keys are assigned at a later stage anyway. We don't have to reinvent that solution in submoduleWith.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description of changes
Found a bug while working on #176557. This is a follow-up on #168778. Wish I found the simplification right away.
Quoting the commit message:
evalModules / extendModules has enough information to perform the
numbering by itself, making extendModules safe and simplifying
submoduleWith.
The
extensionOffsetwas supposed to be an implementation detailof
evalModules/extendModulesall along.Zooming out a bit, the number of
+operations should match thenumber of
extendModulescalls, which can be more than the numberof
submoduleWithcalls, which is less related to the problem beingsolved by
extensionOffset, as it can defer that responsibilityto
extendModules.Things done
sandbox = trueset innix.conf? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)nixos/doc/manual/md-to-db.shto update generated release notes