aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/primops/fetchTree.cc
diff options
context:
space:
mode:
authorBen Burdette <bburdette@gmail.com>2020-05-12 10:52:26 -0600
committerBen Burdette <bburdette@gmail.com>2020-05-12 10:52:26 -0600
commitec870b9c853ad86fb1ccb482ca87802f1b155a2c (patch)
tree888fbcecf32750a48195a585b2a28ee1ac21380a /src/libexpr/primops/fetchTree.cc
parent7c3138844ca9ab92e2f231a7d17d7aee420ae76e (diff)
new pos format for more errors
Diffstat (limited to 'src/libexpr/primops/fetchTree.cc')
-rw-r--r--src/libexpr/primops/fetchTree.cc23
1 files changed, 17 insertions, 6 deletions
diff --git a/src/libexpr/primops/fetchTree.cc b/src/libexpr/primops/fetchTree.cc
index c5a0d9886..af3b61d6a 100644
--- a/src/libexpr/primops/fetchTree.cc
+++ b/src/libexpr/primops/fetchTree.cc
@@ -66,7 +66,11 @@ static void prim_fetchTree(EvalState & state, const Pos & pos, Value * * args, V
}
if (!attrs.count("type"))
- throw Error("attribute 'type' is missing in call to 'fetchTree', at %s", pos);
+ throw Error(
+ ErrorInfo {
+ .hint = hintfmt("attribute 'type' is missing in call to 'fetchTree'"),
+ .nixCode = NixCode { .errPos = pos }
+ });
input = fetchers::inputFromAttrs(attrs);
} else
@@ -107,13 +111,20 @@ static void fetch(EvalState & state, const Pos & pos, Value * * args, Value & v,
else if (n == "name")
name = state.forceStringNoCtx(*attr.value, *attr.pos);
else
- throw EvalError("unsupported argument '%s' to '%s', at %s",
- attr.name, who, *attr.pos);
- }
+ throw EvalError(
+ ErrorInfo {
+ .hint = hintfmt("unsupported argument '%s' to '%s'",
+ attr.name, who),
+ .nixCode = NixCode { .errPos = *attr.pos }
+ });
+ }
if (!url)
- throw EvalError("'url' argument required, at %s", pos);
-
+ throw EvalError(
+ ErrorInfo {
+ .hint = hintfmt("'url' argument required"),
+ .nixCode = NixCode { .errPos = pos }
+ });
} else
url = state.forceStringNoCtx(*args[0], pos);