about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--third_party/nix/src/libexpr/attr-set.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/third_party/nix/src/libexpr/attr-set.cc b/third_party/nix/src/libexpr/attr-set.cc
index c5cfbf3caf..5ef63a129c 100644
--- a/third_party/nix/src/libexpr/attr-set.cc
+++ b/third_party/nix/src/libexpr/attr-set.cc
@@ -23,12 +23,13 @@ BindingsIterator& BindingsIterator::operator++() {
 }
 
 BindingsIterator BindingsIterator::operator++(int) {
+  auto old = *this;
   std::visit(util::overloaded{
                  [](AttributeMap::iterator& iter) { iter++; },
                  [](AttributeVector::iterator& iter) { iter++; },
              },
              _iterator);
-  return *this;
+  return old;
 }
 
 bool BindingsIterator::operator==(const BindingsIterator& other) const {