diff options
author | Robert Hensing <robert@roberthensing.nl> | 2023-04-10 17:26:25 +0200 |
---|---|---|
committer | Robert Hensing <robert@roberthensing.nl> | 2023-05-06 18:29:04 +0200 |
commit | 84b1b017026bb1d0a37a8d3ef553f073225b4e8d (patch) | |
tree | 06dfde57ccd9f656389667f53caffb4c3b1115ac /lib/tests/modules | |
parent | 1f4a58ef038184eaf4757e96ec1f09b08a01c8ab (diff) | |
download | nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.gz nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.bz2 nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.lz nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.xz nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.tar.zst nixlib-84b1b017026bb1d0a37a8d3ef553f073225b4e8d.zip |
lib/modules: Only interpret class declaration in non-shorthand mode
This is to avoid stealing keys from submodules. `class` might be common enough that reinterpreting existing `class` attributes in configurations as a declaration leads to fairly widespread problems.
Diffstat (limited to 'lib/tests/modules')
-rw-r--r-- | lib/tests/modules/class-check.nix | 1 | ||||
-rw-r--r-- | lib/tests/modules/define-freeform-keywords-shorthand.nix | 15 |
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/tests/modules/class-check.nix b/lib/tests/modules/class-check.nix index 6e02f8c30920..f492c844abfb 100644 --- a/lib/tests/modules/class-check.nix +++ b/lib/tests/modules/class-check.nix @@ -25,6 +25,7 @@ ./module-class-is-nixos.nix { _file = "foo.nix#darwinModules.default"; class = "darwin"; + config = {}; imports = []; } ]; diff --git a/lib/tests/modules/define-freeform-keywords-shorthand.nix b/lib/tests/modules/define-freeform-keywords-shorthand.nix new file mode 100644 index 000000000000..8de1ec6a7475 --- /dev/null +++ b/lib/tests/modules/define-freeform-keywords-shorthand.nix @@ -0,0 +1,15 @@ +{ config, ... }: { + class = { "just" = "data"; }; + a = "one"; + b = "two"; + meta = "meta"; + + _module.args.result = + let r = builtins.removeAttrs config [ "_module" ]; + in builtins.trace (builtins.deepSeq r r) (r == { + a = "one"; + b = "two"; + class = { "just" = "data"; }; + meta = "meta"; + }); +} |