don't boost::to_few_args when an eval cached string type errors
Change-Id: Id3cb762622e156ceaf9d5bb95c2c704ffe474d0e
This commit is contained in:
parent
99845e0e01
commit
70af056de8
|
@ -576,8 +576,9 @@ std::string AttrCursor::getString()
|
||||||
|
|
||||||
auto & v = forceValue();
|
auto & v = forceValue();
|
||||||
|
|
||||||
if (v.type() != nString && v.type() != nPath)
|
if (v.type() != nString && v.type() != nPath) {
|
||||||
root->state.error<TypeError>("'%s' is not a string but %s", getAttrPathStr()).debugThrow();
|
root->state.error<TypeError>("'%s' is not a string but %s", getAttrPathStr(), v.type()).debugThrow();
|
||||||
|
}
|
||||||
|
|
||||||
return v.type() == nString ? v.string.s : v.path().to_string();
|
return v.type() == nString ? v.string.s : v.path().to_string();
|
||||||
}
|
}
|
||||||
|
@ -622,11 +623,11 @@ string_t AttrCursor::getStringWithContext()
|
||||||
NixStringContext context;
|
NixStringContext context;
|
||||||
copyContext(v, context);
|
copyContext(v, context);
|
||||||
return {v.string.s, std::move(context)};
|
return {v.string.s, std::move(context)};
|
||||||
}
|
} else if (v.type() == nPath) {
|
||||||
else if (v.type() == nPath)
|
|
||||||
return {v.path().to_string(), {}};
|
return {v.path().to_string(), {}};
|
||||||
else
|
} else {
|
||||||
root->state.error<TypeError>("'%s' is not a string but %s", getAttrPathStr()).debugThrow();
|
root->state.error<TypeError>("'%s' is not a string but %s", getAttrPathStr(), v.type()).debugThrow();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AttrCursor::getBool()
|
bool AttrCursor::getBool()
|
||||||
|
|
Loading…
Reference in a new issue