1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2024-10-18 00:16:11 -04:00
This commit is contained in:
Eelco Dolstra 2024-10-13 19:17:55 +02:00 committed by GitHub
commit 2737eb2a29
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 12 additions and 12 deletions

View file

@ -294,10 +294,10 @@ EvalState::EvalState(
vNull.mkNull();
vTrue.mkBool(true);
vFalse.mkBool(false);
vStringRegular.mkString("regular");
vStringDirectory.mkString("directory");
vStringSymlink.mkString("symlink");
vStringUnknown.mkString("unknown");
vStringRegular.mkStringNoCopy("regular");
vStringDirectory.mkStringNoCopy("directory");
vStringSymlink.mkStringNoCopy("symlink");
vStringUnknown.mkStringNoCopy("unknown");
/* Construct the Nix expression search path. */
assert(lookupPath.elements.empty());
@ -808,7 +808,7 @@ DebugTraceStacker::DebugTraceStacker(EvalState & evalState, DebugTrace t)
void Value::mkString(std::string_view s)
{
mkString(makeImmutableString(s));
mkStringNoCopy(makeImmutableString(s));
}
@ -829,12 +829,12 @@ static const char * * encodeContext(const NixStringContext & context)
void Value::mkString(std::string_view s, const NixStringContext & context)
{
mkString(makeImmutableString(s), encodeContext(context));
mkStringNoCopy(makeImmutableString(s), encodeContext(context));
}
void Value::mkStringMove(const char * s, const NixStringContext & context)
{
mkString(s, encodeContext(context));
mkStringNoCopy(s, encodeContext(context));
}
void Value::mkPath(const SourcePath & path)

View file

@ -4056,7 +4056,7 @@ static void prim_substring(EvalState & state, const PosIdx pos, Value * * args,
if (len == 0) {
state.forceValue(*args[2], pos);
if (args[2]->type() == nString) {
v.mkString("", args[2]->context());
v.mkStringNoCopy("", args[2]->context());
return;
}
}

View file

@ -63,7 +63,7 @@ static void prim_fromTOML(EvalState & state, const PosIdx pos, Value * * args, V
{
if (experimentalFeatureSettings.isEnabled(Xp::ParseTomlTimestamps)) {
auto attrs = state.buildBindings(2);
attrs.alloc("_type").mkString("timestamp");
attrs.alloc("_type").mkStringNoCopy("timestamp");
std::ostringstream s;
s << t;
attrs.alloc("value").mkString(toView(s));

View file

@ -318,7 +318,7 @@ public:
finishValue(tBool, { .boolean = b });
}
inline void mkString(const char * s, const char * * context = 0)
inline void mkStringNoCopy(const char * s, const char * * context = 0)
{
finishValue(tString, { .string = { .c_str = s, .context = context } });
}
@ -331,7 +331,7 @@ public:
inline void mkString(const SymbolStr & s)
{
mkString(s.c_str());
mkStringNoCopy(s.c_str());
}
void mkPath(const SourcePath & path);

View file

@ -61,7 +61,7 @@ bool createUserEnv(EvalState & state, PackageInfos & elems,
auto attrs = state.buildBindings(7 + outputs.size());
attrs.alloc(state.sType).mkString("derivation");
attrs.alloc(state.sType).mkStringNoCopy("derivation");
attrs.alloc(state.sName).mkString(i.queryName());
auto system = i.querySystem();
if (!system.empty())