forked from mirrors/nixpkgs
lib/modules: Fix nonexistant option error
The refactoring in fd75dc8765
introduced a mistake in the error message that doesn't show the full
context anymore. E.g. with this module:
options.foo.bar = lib.mkOption {
type = lib.types.submodule {
baz = 10;
};
default = {};
};
You'd get the error
The option `baz' defined in `/home/infinisil/src/nixpkgs/config.nix' does not exist.
instead of the previous
The option `foo.bar.baz' defined in `/home/infinisil/src/nixpkgs/config.nix' does not exist.
This commit undoes this regression
This commit is contained in:
parent
1e3f09feaa
commit
d5700d626c
|
@ -115,8 +115,8 @@ rec {
|
|||
|
||||
checkUnmatched =
|
||||
if config._module.check && config._module.freeformType == null && merged.unmatchedDefns != [] then
|
||||
let inherit (head merged.unmatchedDefns) file prefix;
|
||||
in throw "The option `${showOption prefix}' defined in `${file}' does not exist."
|
||||
let firstDef = head merged.unmatchedDefns;
|
||||
in throw "The option `${showOption (prefix ++ firstDef.prefix)}' defined in `${firstDef.file}' does not exist."
|
||||
else null;
|
||||
|
||||
result = builtins.seq checkUnmatched {
|
||||
|
|
Loading…
Reference in a new issue