diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-11-25 12:05:48 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2003-11-25 12:05:48 +0000 |
commit | 6e8c19714af00b8340eea6eecf1c38fc6b09f6de (patch) | |
tree | 861335676382dcfabb4cc073f24573158e236292 /src/libexpr | |
parent | d1d87badf6d07c9d319c555593be5c6d0bd08bb4 (diff) |
* Allow integer bindings in derivations.
Diffstat (limited to 'src/libexpr')
-rw-r--r-- | src/libexpr/eval.cc | 1 | ||||
-rw-r--r-- | src/libexpr/primops.cc | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index b110c3a4a..f6634e892 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -127,6 +127,7 @@ Expr evalExpr2(EvalState & state, Expr e) if (atMatch(m, e) >> "Str" || atMatch(m, e) >> "Path" || atMatch(m, e) >> "Uri" || + atMatch(m, e) >> "Int" || atMatch(m, e) >> "Bool" || atMatch(m, e) >> "Function" || atMatch(m, e) >> "Attrs" || diff --git a/src/libexpr/primops.cc b/src/libexpr/primops.cc index 481966af9..da6927d0f 100644 --- a/src/libexpr/primops.cc +++ b/src/libexpr/primops.cc @@ -89,6 +89,13 @@ static string processBinding(EvalState & state, Expr e, StoreExpr & ne) if (atMatch(m, e) >> "Bool" >> "True") return "1"; if (atMatch(m, e) >> "Bool" >> "False") return ""; + int n; + if (atMatch(m, e) >> "Int" >> n) { + ostringstream st; + st << n; + return st.str(); + } + if (atMatch(m, e) >> "Attrs" >> es) { Expr a = queryAttr(e, "type"); if (a && evalString(state, a) == "derivation") { |