Merge pull request #298967 from vbgl/ocaml-5.2.0
[NixPkgs.git] / lib / tests / modules / adhoc-freeformType-survives-type-merge.nix
blob3cefb543c256bfff99bb9d537574b9ca287a9458
1 { lib, ... }: {
2   options.dummy = lib.mkOption { type = lib.types.anything; default = {}; };
3   freeformType =
4     let
5       a = lib.types.attrsOf (lib.types.submodule { options.bar = lib.mkOption { }; });
6     in
7     # modifying types like this breaks type merging.
8     # This test makes sure that type merging is not performed when only a single declaration exists.
9     # Don't modify types in practice!
10     a // {
11       merge = loc: defs: { freeformItems = a.merge loc defs; };
12     };
13   config.foo.bar = "ok";