Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib/types: fix toCoerced's typeMerge #341112

Merged
merged 1 commit into from
Sep 11, 2024

Conversation

HexoKnight
Copy link
Contributor

Description of changes

Fixes lib.types.coercedTo's typeMerge which previously (for 8 years!) took 2 arguments when it should only take 1.

This didn't actually affect functionality as coercedTo cannot merge anyway but it results in an awful error message: error: value is a function while a set was expected because mergeOptionDecls then thinks the types are actually mergeable (as the partially applied function is != null) leading to a worse error message down the line as type is not an attrset.

I've added a test (mainly as a reproducible example) but let me know if it's unnecessary/overkill.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added 6.topic: module system About "NixOS" module system internals 6.topic: lib The Nixpkgs function library labels Sep 10, 2024
@NixOSInfra NixOSInfra added the 12. first-time contribution This PR is the author's first one; please be gentle! label Sep 10, 2024
Copy link
Member

@infinisil infinisil left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh my, thank you! Also very nice to have a test for this :D

@infinisil infinisil merged commit bb4880f into NixOS:master Sep 11, 2024
10 of 11 checks passed
@HexoKnight HexoKnight deleted the fix-tocoerced-typemerge branch October 5, 2024 12:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: lib The Nixpkgs function library 6.topic: module system About "NixOS" module system internals 12. first-time contribution This PR is the author's first one; please be gentle!
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants