diff options
author | Théophane Hufschmitt <theophane.hufschmitt@tweag.io> | 2023-04-05 17:20:04 +0200 |
---|---|---|
committer | Théophane Hufschmitt <theophane.hufschmitt@tweag.io> | 2023-04-05 17:20:04 +0200 |
commit | faefaac87568fe3ff04f4c2624f293763de2ae1e (patch) | |
tree | a62eedee8acbdd178ef98489b6b21134fe0f7fae /src | |
parent | bbdb5a58c7204893119ed8c13c55d0dea0f82e35 (diff) |
Explicitely define `LockFile::operator!=`
It should be syntethised in terms of `operator==`, but the GCC version
used on aarch64-linux doesn't implement that (see
https://hydra.nixos.org/build/214848896=. So explicitely define it.
Fix https://github.com/NixOS/nix/issues/8159
Diffstat (limited to 'src')
-rw-r--r-- | src/libexpr/flake/lockfile.cc | 5 | ||||
-rw-r--r-- | src/libexpr/flake/lockfile.hh | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/libexpr/flake/lockfile.cc b/src/libexpr/flake/lockfile.cc index a74e68c9c..ba2fd46f0 100644 --- a/src/libexpr/flake/lockfile.cc +++ b/src/libexpr/flake/lockfile.cc @@ -234,6 +234,11 @@ bool LockFile::operator ==(const LockFile & other) const return toJSON() == other.toJSON(); } +bool LockFile::operator !=(const LockFile & other) const +{ + return !(*this == other); +} + InputPath parseInputPath(std::string_view s) { InputPath path; diff --git a/src/libexpr/flake/lockfile.hh b/src/libexpr/flake/lockfile.hh index 6512509c5..4616a77f6 100644 --- a/src/libexpr/flake/lockfile.hh +++ b/src/libexpr/flake/lockfile.hh @@ -67,6 +67,9 @@ struct LockFile std::optional<FlakeRef> isUnlocked() const; bool operator ==(const LockFile & other) const; + // Needed for old gcc versions that don't syntethise it (like gcc 8.2.2 + // that is still the default on aarch64-linux) + bool operator !=(const LockFile & other) const; std::shared_ptr<Node> findInput(const InputPath & path); |