Merge pull request #11843 from xokdvium/dev/move-fixes

fix(treewide): clean up move semantics
This commit is contained in:
Jörg Thalheim 2024-11-09 21:57:27 +01:00 committed by GitHub
commit aa9c0bc1ee
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 15 additions and 17 deletions

View file

@ -26,7 +26,7 @@ struct ExtraPathInfoFlake : ExtraPathInfoValue
Flake flake;
ExtraPathInfoFlake(Value && v, Flake && f)
: ExtraPathInfoValue(std::move(v)), flake(f)
: ExtraPathInfoValue(std::move(v)), flake(std::move(f))
{ }
};

View file

@ -59,7 +59,7 @@ struct ExtraPathInfoValue : ExtraPathInfo
Value value;
ExtraPathInfoValue(Value && v)
: value(v)
: value(std::move(v))
{ }
virtual ~ExtraPathInfoValue() = default;

View file

@ -298,6 +298,10 @@ struct BasicDerivation
std::string name;
BasicDerivation() = default;
BasicDerivation(BasicDerivation &&) = default;
BasicDerivation(const BasicDerivation &) = default;
BasicDerivation& operator=(BasicDerivation &&) = default;
BasicDerivation& operator=(const BasicDerivation &) = default;
virtual ~BasicDerivation() { };
bool isBuiltin() const;

View file

@ -153,7 +153,7 @@ struct curlFileTransfer : public FileTransfer
template<class T>
void fail(T && e)
{
failEx(std::make_exception_ptr(std::move(e)));
failEx(std::make_exception_ptr(std::forward<T>(e)));
}
LambdaSink finalSink;

View file

@ -33,7 +33,7 @@ Machine::Machine(
systemTypes(systemTypes),
sshKey(sshKey),
maxJobs(maxJobs),
speedFactor(speedFactor == 0.0f ? 1.0f : std::move(speedFactor)),
speedFactor(speedFactor == 0.0f ? 1.0f : speedFactor),
supportedFeatures(supportedFeatures),
mandatoryFeatures(mandatoryFeatures),
sshPublicHostKey(sshPublicHostKey)

View file

@ -176,17 +176,18 @@ struct ValidPathInfo : UnkeyedValidPathInfo {
*/
Strings shortRefs() const;
ValidPathInfo(const ValidPathInfo & other) = default;
ValidPathInfo(StorePath && path, UnkeyedValidPathInfo info) : UnkeyedValidPathInfo(info), path(std::move(path)) { };
ValidPathInfo(const StorePath & path, UnkeyedValidPathInfo info) : UnkeyedValidPathInfo(info), path(path) { };
ValidPathInfo(const Store & store,
std::string_view name, ContentAddressWithReferences && ca, Hash narHash);
virtual ~ValidPathInfo() { }
};
static_assert(std::is_move_assignable_v<ValidPathInfo>);
static_assert(std::is_copy_assignable_v<ValidPathInfo>);
static_assert(std::is_copy_constructible_v<ValidPathInfo>);
static_assert(std::is_move_constructible_v<ValidPathInfo>);
using ValidPathInfos = std::map<StorePath, ValidPathInfo>;
}

View file

@ -35,7 +35,7 @@ ExecutablePath ExecutablePath::parse(const OsString & path)
std::make_move_iterator(strings.begin()),
std::make_move_iterator(strings.end()),
std::back_inserter(ret),
[](auto && str) {
[](OsString && str) {
return fs::path{
str.empty()
// "A zero-length prefix is a legacy feature that

View file

@ -9,7 +9,7 @@ Pos::Pos(const Pos * other)
}
line = other->line;
column = other->column;
origin = std::move(other->origin);
origin = other->origin;
}
Pos::operator std::shared_ptr<Pos>() const

View file

@ -18,11 +18,6 @@ private:
std::shared_ptr<T> p;
public:
ref(const ref<T> & r)
: p(r.p)
{ }
explicit ref(const std::shared_ptr<T> & p)
: p(p)
{
@ -75,8 +70,6 @@ public:
return ref<T2>((std::shared_ptr<T2>) p);
}
ref<T> & operator=(ref<T> const & rhs) = default;
bool operator == (const ref<T> & other) const
{
return p == other.p;