diff options
author | Shea Levy <shea@shealevy.com> | 2014-01-06 10:27:26 -0500 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2014-01-14 14:00:15 +0100 |
commit | f9913f4422d1317af3c6b5aff37ad18b78083eb5 (patch) | |
tree | b18e070f5e266bfaff2abed726b767760412809f /tests/lang/eval-okay-dynamic-attrs-bare.nix | |
parent | e640d671443e291b3ca5cc0575919d6fcf14a157 (diff) |
Allow "bare" dynamic attrs
Now, in addition to a."${b}".c, you can write a.${b}.c (applicable
wherever dynamic attributes are valid).
Signed-off-by: Shea Levy <shea@shealevy.com>
Diffstat (limited to 'tests/lang/eval-okay-dynamic-attrs-bare.nix')
-rw-r--r-- | tests/lang/eval-okay-dynamic-attrs-bare.nix | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/tests/lang/eval-okay-dynamic-attrs-bare.nix b/tests/lang/eval-okay-dynamic-attrs-bare.nix new file mode 100644 index 000000000..0dbe15e63 --- /dev/null +++ b/tests/lang/eval-okay-dynamic-attrs-bare.nix @@ -0,0 +1,17 @@ +let + aString = "a"; + + bString = "b"; +in { + hasAttrs = { a.b = null; } ? ${aString}.b; + + selectAttrs = { a.b = true; }.a.${bString}; + + selectOrAttrs = { }.${aString} or true; + + binds = { ${aString}."${bString}c" = true; }.a.bc; + + recBinds = rec { ${bString} = a; a = true; }.b; + + multiAttrs = { ${aString} = true; ${bString} = false; }.a; +} |